Ubuntu 18.04,源码安装MySQL5.7.x
2020-09-15 本文已影响0人
黑铁大魔王
关键字:
- mysql编译安装
- ubuntu 18.04
摘要:
本文简述在ubuntu18.04 server版上,通过源码编译安装mysql5.7.30的过程。以及在此过程中可能遇到的一些问题,并给出了解决办法。
获取MySql源码包
下载页面按照上图选择选项,然后下载箭头4指向的文件
开始安装
- 把mysql-5.7.30安装包放到~/download目录下解压
- 进入路径 /home/c_01/download/mysql-5.7.30
- 执行cmake
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ # mysql安装位置
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_DATADIR=/data/mysql \ # mysql数据文件存放位置
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/home/c_01/download/mysql-5.7.30/boost # boost路径,安装时需要用到
-
执行cmake时有可能会报的错误:
- Curses library not found. Please install appropriate package
解决:sudo apt-get install libncurses5-dev
- Please install the appropriate openssl developer package.
解决:sudo apt-get install libssl-dev
- 缺少pkg-config的错误
解决:sudo apt install pkg-config
- /tmp/mysql.sock 不存在
解决:把上面3个apt都执行了,即可解决
- Curses library not found. Please install appropriate package
-
make && sudo make install
-
初始化mysql
- make install成功之后,在/usr/local/下已经有mysql了
- 进入/usr/local/mysql/bin目录,
sudo ./mysqld --initialize --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql/
- 001.png
可能会出现的问题:
image.png
1. 可能出现/data/mysql里有文件的提示,此时删除该目录,再次执行初始化命令即可。
2. 提示mysql用户不存在,通过useradd mysq
增加mysql用户即可 -
启动mysql
- 在/usr/local/mysql/support/目录下执行
./mysql.server start
- 在/usr/local/mysql/support/目录下执行
启动时可能会报错: The server quit without updating PID file (/data/mysql/xxx.pid) 启动时可能会报错pid无法更新
-
使用第6步的初始化密码登录root用户
- 登录:./mysql -uroot -pxxxxxx(xxxxxx是初始化密码)
- 修改root密码:做如下3部操作即可
- step 1: SET PASSWORD = PASSWORD('新密码');
- step 2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
- step 3: flush privileges;
-
增加其他用户
- 增加用户请看这里:MySql 5.7+【创建新用户】以及【授权】
-
完成鸟。