源码安装mysql
一.环境
CentOS7.4 64位 最小化安装
二.准备工作
1.安装依赖
yum -y install wget cmake gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel
2.下载源码包
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.11.tar.gz
3.创建mysql用户
groupadd mysql useradd -r -g mysql -s /bin/false mysql
4.创建安装目录和数据目录
mkdir -p /usr/local/mysql
mkdir -p /data/mysql
三.安装MySQL8.0.11
1.解压源码包
tar -zxf mysql-boost-8.0.11.tar.gz -C /usr/local
2.编译&安装
cd /usr/local/mysql-8.0.11 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=/usr/local/mysql-8.0.11/boost make && make install
3.配置my.cnf文件
vi /etc/my.cnf [mysqld] server-id=1 port=3306 basedir=/usr/local/mysql datadir=/data/mysql skip-grant-tables#第一次启动使用免密登陆,之后可以注释掉
4.目录权限修改
chown -R mysql:mysql /usr/local/mysql chown -R mysql:mysql /data/mysql chmod 755 /usr/local/mysql -R chmod 755 /data/mysql -R
5.初始化
bin/mysqld --initialize --user=mysql --datadir=/data/mysql/
bin/mysql_ssl_rsa_setup
6.启动mysql
bin/mysqld_safe &
7.修改账号密码
bin/mysql -uroot -p
输入回车可以直接登录
mysql> alter user 'root'@'localhost' identified by "123456";
修改密码时候可能会出现
The MySQL server is running with the--skip-grant-tables option
异常
此时输入
mysql> flush privileges;
出现 Query OK, 0 rows affected (0.01 sec)
之后再输入修改密码的sql就可以了
8.添加远程登陆账号
mysql> create user root@'%' identified by '123456'; Query OK, 0 rows affected (0.08 sec) mysql> grant all privileges on *.* to root@'%'; Query OK, 0 rows affected (0.04 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec)
9.创建软链接
ln -s /usr/local/mysql/bin/* /usr/local/bin/
10.添加到启动(非必要)
cp support-files/mysql.server /etc/init.d/mysql.server