大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
我们在Windows系统中安装过MySQL数据库,那么如何在Ubuntu系统中安装呢?下面我给大家分享演示一下。
创新互联科技有限公司专业互联网基础服务商,为您提供成都温江机房,高防主机,成都IDC机房托管,成都主机托管等互联网服务。
工具/材料
Ubuntu
01
首先我们需要登录MySQL的官方平台下载Ubuntu的安装包,如下图所示,大家选择红框中的安装包即可
02
接下来打开Ubuntu中的命令行,执行apt install numactl安装MySQL的依赖库numactl,如下图所示
03
然后执行apt install命令继续安装依赖包libaio-dev,如下图所示
04
接下来我们运用tar命令解压刚才下载的mysql压缩包,如下图所示
05
接着我们需要通过groupadd命令给Ubuntu系统添加一个mysql的用户组,如下图所示
06
然后添加一个mysql用户到mysql用户组中,如下图所示,这里主要用了useradd命令
07
接下来我们需要将解压后的压缩包移动到/usr/local/mysql文件夹下面,如下图所示
08
然后给移动后的文件夹添加目录权限到mysql用户组,如下图所示
09
接下来我们就可以对mysql数据库执行初始化命令了,如下图所示
10
最后我们在命令行开启MySQL服务即可完成数据库的安装了,如下图所示
从官网下载安装包MySQL :: Download MySQL Community Server
解压到/usr/local目录下,重命名为mysql
然后在终端输入以下命令:
shell groupadd mysql
shell useradd -r -g mysql mysql
shell cd /usr/local
shell cd mysql
shell chown -R mysql . (别忘了最后有一个点,下同)
shell chgrp -R mysql .
shell scripts/mysql_install_db --user=mysql
这句执行后如果报错:
scripts/mysql_install_db: 244: ./bin/my_print_defaults: not found
Neither host 'ubuntu' nor 'localhost' could be looked up with
./bin/resolveip
Please configure the 'hostname' command to return a correct
hostname.
If you want to solve this at a later stage, restart this script
with the --force option
在终端输入uname -a命令查看系统版本,如果结果为x86_64则说明系统是64位的,是不是下载的安装包不对了?到官网下载64位版本的,把刚解压到mysql目录删掉,重新执行上面这一条语句
如果又报错:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
这说明少个东西,执行下面这条命令:
sudo apt-get install libaio-dev
安装完成后再执行scripts/mysql_install_db --user=mysql这条语句
继续执行后续命令:
shell chown -R root .
shell chown -R mysql data
好了,下面启动:
sudo ./support-files/mysql.server start
# /usr/local/mysql/bin/mysqld_safe --user=mysql
cd /usr/local/mysql/bin //进入 bin目录
#mysql //运行mysq命令
如果没有没有启动 或出现 Can't connect to local MySQL server through socket '/tmp/mysql.sock'
解决方法: #cd /usr/local/mysql/support-files //进入该目录
#./mysql.server start //启动即可 既可在生成/tmp/mysql.sock
如果/tmp/mysql.sock 无该文件存在,且mysql是处于 开启的状态?
解决方法: #netstat -an | grep 3306 //查看 3306端口
#ps -ef | grep mysql // 查找 mysql 进程
# kill -9 进程号 //强制删除mysql的进程号
#./mysql.server start // 启动即可 既可在生成/tmp/mysql.sock
如果在任意路径下如数mysql命令得到的无该命令咋办呢?
解决方法:修改 /etc/profile 文件 在文件中加入
PATH=$PATH:/usr/local/mysql/bin/
export PATH (保存即可退出执行 source /etc/profile)
以上操作完全可以 在任意目录执行 # mysql 命令
如果想执行 service mysql start or restart stop 命令咋办的? 在不能老#./mysql.server start
解决方法:将 mysql.server 复制一份到 /etc/rc.d/init.d 下并改名 mysql 或 建个连接文件
假设当前目录为 /etc/rc.d/init.d
如: #cp /usr/local/mysql/support-files/mysql.server mysql (复制)
或 : #ln -s /usr/local/mysql/support-files/mysql.server mysql (建立连接文件)
完成以上操作即可 执行 service mysql start (or restart stop)
用如下命令修改MYSQL密码
# /usr/local/mysql/bin/mysqladmin -u root password yourpassword //默认安装密码为空,为了安全你必须马上修改
# chmod 700 /etc/init.d/mysql
# chkconfig --add mysqld
# chkconfig --level 345 mysql on //copy编译目录的一个脚本设置使mysql每次启动都能自动运行
# service mysql start
# netstat -atln
//启动mysql服务
//查看3306端口是否打开。要注意在防火墙中开放该端口。
可以用telnet localhost 3306来测试一下,如果有反应,那就表明安装成功了
Ubuntu上安装MySQL非常简单只需要几条命令就可以完成。
1. sudo apt-get install mysql-server
2. apt-get isntall mysql-client
3. sudo apt-get install libmysqlclient-dev
安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:
sudo netstat -tap | grep mysql
通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
登陆mysql数据库可以通过如下命令:
mysql -u root -p
-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。
然后通过 show databases; 就可以查看当前的数据库。
我们选择 mysql数据库就行下一步操作,使用use mysql 命令,显示当前数据库的表单:show tables
写一个简单的程序来访问该数据库,实现 show tables 功能:
#include mysql/mysql.h
#include stdio.h
#include stdlib.h
int main()
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char server[] = "localhost";
char user[] = "root";
char password[] = "mima";
char database[] = "mysql";
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, server,user, password, database, 0, NULL, 0))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
if (mysql_query(conn, "show tables"))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn);
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
{
printf("%s \n", row[0]);
}
mysql_free_result(res);
mysql_close(conn);
printf("finish! \n");
return 0;
}
编译代码的时候需要链接mysql的库,可以通过如下方式编译:
g++ -Wall mysql_test.cpp -o mysql_test -lmsqlclient
然后运行编译好的代码:
可见结果和使用SQL语句 show tables 是一样的。
make it simple, make it happen