Mysql5.7源码单实例部署

编译安装
[[email protected] ~]# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make

cmake:
[[email protected] ~]# yum install -y cmake

mysql:
[[email protected] ~]# groupadd mysql
[[email protected] ~]# useradd -r -g mysql -s /bin/false mysql
[[email protected] ~]# tar xvf mysql-5.7.17.tar.gz
[[email protected] ~]# cd mysql-5.7.17
[[email protected] ~]# cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost

[[email protected] ~]# make
[[email protected] ~]# make install

初始化
[[email protected] local]# cd mysql
[[email protected] mysql]# chown -R mysql .
[[email protected] mysql]# chgrp -R mysql .
[[email protected] mysql]# bin/mysqld –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data
[[email protected] mysql]# bin/mysql_ssl_rsa_setup
[[email protected] mysql]# chown -R root .
[[email protected] mysql]# chown -R mysql data mysql-files
[[email protected] mysql]# \cp -rf support-files/my-default.cnf /etc/my.cnf
[[email protected] mysql]# bin/mysqld_safe –user=mysql &
[[email protected] mysql]# echo “export PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile
[[email protected] mysql]# source /etc/profile
[[email protected] mysql]# mysql -uroot -p’xxxx’
mysql> alter user [email protected]’localhost’ identified by ‘tianyun’;

忘记MySQL密码
MySQL 5.7.5 and earlier:
[[email protected] ~]# vim /etc/my.cnf
[mysqld]
skip-grant-tables

[[email protected] ~]# service mysqld restart
[[email protected] ~]# mysql
mysql> update mysql.user set password=password(“456”) where user=”root” and host=”localhost”;
mysql> flush privileges;
mysql> \q

[[email protected] ~]# vim /etc/my.cnf
[mysqld]
之后注释掉 #skip-grant-table
[[email protected] ~]# service mysqld restart

MySQL 5.7.6 and later:
[[email protected] ~]# vim /etc/my.cnf
[mysqld]
skip-grant-tables
[[email protected] ~]# systemctl restart mysqld
Mysql5.7源码单实例部署