前提条件:
安装cmake
sudo apt install cmake
安装bison
sudo apt install bison
安装libncurses
sudo apt install libncurses5-dev
创建组
groupadd mysql
创建用户
useradd -r -g mysql mysql
创建目录
sudo mkdir -p /usr/local/mysql
sudo mkdir -p /usr/local/mysql/data
sudo mkdir -p /var/run/mysqld
下载mysql源代码
下载带有boost的版本
tar zxvf mysql.tar.gz
cd mysql-5.7.19
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/src/mysql-5.7.19/boost/boost_1_59_0 \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DEXTRA_CHARSETS=all \
-DWITH_SYSTEMD=1
sudo make -j 16
sudo make install
sudo chown -R mysql.mysql /usr/local/mysql
sudo chown -R mysql.mysql /var/run/mysqld
编辑配置文件/etc/my.cnf
[client]
port=3306
socket=/usr/local/mysql/mysql.sock
[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
pid-file=/var/run/mysqld/mysqld.pid
安装数据库
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
记住输出的密码,下面会用到 。
运行mysql
cp lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl start mysqld
systemctl status mysqld
登录
sudo vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile
mysql -uroot -p前面输出的密码
修改mysql的root用户密码
alter user 'root'@'localhost' identified by 'password';
修改root用户可以远程连接
grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;
flush privileges;
其它补充
编译过程中如碰到问题需要重新编译,可以执行以下命令。
rm -f CMakeCache.txt
make clean