Reference: https://blog.csdn.net/Tzhennan/article/details/80565235mysql
官方下載地址: https://dev.mysql.com/downloads/mysql/
從mysql5.5起,mysql源碼安裝開始使用cmake
#mac 安裝cmake
$ brew install cmake
#centos 安裝cmake
$ yum install -y cmake
#相關編譯選項
安裝時路徑相關的配置
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql # 安裝路徑
-DMYSQL_DATADIR=/usr/local/mysql/data # MySQL的數據目錄
-DSYSCONFDIR=/etc # MySQL配置文件路徑
存儲引擎相關的配置
#若要明確指定編譯某引擎,可以使用相似以下的選項:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDEFATED_STORAGE_ENGINE=1
#若要明確指定不編譯某引擎,可以使用相似以下的選項:
-DWITHOUT_<engine-name>_ENGINE=1
#如
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
其餘配置項
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DENABLED_LOCAL_INFILE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_DEBUG=0
-DENABLED_PROFILING=1
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
#編譯安裝
#解壓縮
$ tar -zxvf mysql-boost-5.7.22.tar.gz
$ cd mysql-5.7.22
#編譯安裝
$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DENABLE_DOWNLOADS=1 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_USER=_mysql \
-DWITH_BOOST=/Users/tzhennan/Downloads/software/mysql-5.7.22/boost \
-DDOWNLOAD_BOOST=1
$ make
$ make install
#修改屬組和屬主
$ chown -R _mysql:_mysql /usr/local/mysql/sql
2.修改MySQL的登陸設置:
# vim /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables 數據庫
log-bin=/opt/mysql540/log/mysql-bin
log_bin= /opt/mysql540/log/mysql-binvim
basedir=/opt/mysql540centos
datadir=/opt/mysql540/data
socket=/opt/mysql540/mysql.sock
pid-file=/opt/mysql540/mysql.pid
log-error=/opt/mysql540/error.logsocket
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLESide
server_id=1
binlog_format='ROW'ui
保存而且退出vi。spa
3.從新啓動mysqld
support-files/mysql.server restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ].net
4.登陸並修改MySQL的root密碼
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> USE mysql ;
Database changed
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
5.將MySQL的登陸設置修改回來
# vim /etc/my.cnf
將剛纔在[mysqld]的段中加上的skip-grant-tables刪除
保存而且退出vim
6.從新啓動mysqld
# service mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
改成bind-address = 0.0.0.0便可
一、新建用戶遠程鏈接mysql數據庫
grant all on *.* to admin@'%' identified by '123456' with grant option;
flush privileges;
容許任何ip地址(%表示容許任何ip地址)的電腦用admin賬戶和密碼(123456)來訪問這個mysql server。
注意admin帳戶不必定要存在。
二、支持root用戶容許遠程鏈接mysql數據庫grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;flush privileges;