编译安装mysql5.5及以上的版本须要用cmake, 提早装好cmakemysql
下载mysql5.7.23,解压缩,进入目录sql
wget http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.7/mysql-5.7.23.tar.gz tar zxvf mysql-5.7.23.tar.gz cd mysql-5.7.23
个人编译参数bash
cmake -DCMAKE_INSTALL_PREFIX=../mysql -DMYSQL_UNIX_ADDR=../mysql/var/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=../mysql/data -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1
执行socket
make && make install
通过漫长的编译完成后,进入mysql安装目录code
初始化server
bin/mysqld --no-defaults --initialize --basedir=/home/liuzhongliang/mysql --datadir=/home/liuzhongliang/mysql/data --lc-messages=zh_CN --explicit_defaults_for_timestamp --character-set-server=utf8 --character-set-filesystem=utf8 --port=3361 --pid-file=/home/liuzhongliang/mysql/var/run/mysql.pid --socket=/home/liuzhongliang/mysql/var/mysql.sock --log-error=/home/liuzhongliang/mysql/log/mysql.log --secure-file-priv='' --read-only=0
注意 ip
--secure-file-priv 是置顶容许进行数据导入导出的文件目录,赋值为''(不是null),容许任何文件目录
--read-only=0 关闭只读模式,我一开始初始化后,用获得的root帐号和密码登陆不上去,追查出了原来默认是只读模式,加上关闭只读模式的参数进行初始化,才登陆成功了。
初始化完成后,会获得默认的root帐号和密码ci
固然后面的哪些配置参数能够放到一个配置文件里来代替,个人mysql 配置文件(/home/liuzhongliang/mysql/my.cnf)get
[mysqld] basedir = /home/liuzhongliang/mysql datadir = /home/liuzhongliang/mysql/data open-files-limit= 1024 character-set-server= utf8 [mysqld_safe] explicit_defaults_for_timestamp skip-grant-tables log-error=/home/liuzhongliang/mysql/log/mysql.log pid-file=/home/liuzhongliang/mysql/var/run/mysql.pid port = 3361 socket = /home/liuzhongliang/mysql/var/mysql.sock [client] socket=/home/liuzhongliang/mysql/var/mysql.sock character-set-server=utf8
启动mysqlit
./bin/mysqld_safe --defaults-file=my.cnf & >/dev/null
修改密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');