Mysql5.7.16二进安装
浏览量:1272
MySQL5.7出来也有一年了,业内也一直在宣传5.7有多么的N,官网的也是宣传5.7有好几倍的速度的提升包括在语法方面更多的支持、JOSN、并行复制等;但是一直期待的线程池还是没有在5.7中出现有点遗憾。忍不住也下载一个来玩玩,mysql5.7的安装相对于5.6还是有点区别,本章主要介绍二进制的安装方法。
一、下载安装包
下载链接:点击下载
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz
二、安装
2.1、解压拷贝
[root@YoungCheung src]# tar xf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz [root@YoungCheung src]# mv mysql-5.7.16-linux-glibc2.5-x86_64 /usr/local/mysql
2.2、创建MySQL用户
[root@YoungCheung src]# groupadd mysql [root@YoungCheung src]# useradd -r -g mysql -s /bin/false mysql
2.3、创建mysql的数据目录,该目录在初始化数据库的时候会用到
[root@YoungCheung src]# mkdir /mysql /mysql/data /mysql/log
2.4、授权目录
[root@YoungCheung src]# chown -R mysql:mysql /usr/local/mysql /mysql
2.5 创建my.cnf文件
#vim /etc/my.cnf [client] port = 3306 socket = /tmp/mysql.sock [mysqld] server_id=10 port = 3306 user = mysql character-set-server = utf8mb4 default_storage_engine = innodb log_timestamps = SYSTEM socket = /tmp/mysql.sock basedir = /usr/local/mysql datadir = /mysql/data pid-file = /mysql/data/mysql.pid max_connections = 1000 max_connect_errors = 1000 table_open_cache = 1024 max_allowed_packet = 128M open_files_limit = 65535 #####====================================[innodb]============================== innodb_buffer_pool_size = 1024M innodb_file_per_table = 1 innodb_write_io_threads = 4 innodb_read_io_threads = 4 innodb_purge_threads = 2 innodb_flush_log_at_trx_commit = 1 innodb_log_file_size = 512M innodb_log_files_in_group = 2 innodb_log_buffer_size = 16M innodb_max_dirty_pages_pct = 80 innodb_lock_wait_timeout = 30 innodb_data_file_path=ibdata1:1024M:autoextend # ######====================================[log]============================== log_error = /mysql/log/mysql-error.log slow_query_log = 1 long_query_time = 1 slow_query_log_file = /mysql/log/mysql-slow.log # sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
说明:这里只是进行了一些简单的配置
2.6 、初始化数据库
在5.7.6之前初始化的方法是:bin/mysql_install_db --user=mysql
我下载的是最新的5.7.16也是4.12号刚发布的版本,5.7.6之后的版本初始化数据库不再使用mysql_install_db
[root@YoungCheung bin]# cd /usr/local/mysql/bin/ [root@YoungCheung bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/mysql/data --innodb_undo_tablespaces=3 --explicit_defaults_for_timestamp
如果配置了my.cnf的log_error,那么初始密码在log_error文件中,否则会打印出来。
[root@YoungCheung bin]#./mysql_ssl_rsa_setup --datadir=/mysql/data
2.7、修改目录权限
[root@YoungCheung bin]#chown -R mysql:mysql /usr/local/mysql /mysql
2.8、配置启动文件
[root@YoungCheung ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql [root@YoungCheung ~]# chkconfig --add mysql [root@YoungCheung ~]# chkconfig mysql on [root@YoungCheung ~]# service mysql start
启动出现错误:
[root@YoungCheung data]# service mysql restart
ERROR! MySQL server PID file could not be found!
Starting MySQL.... ERROR! The server quit without updating PID file (/mysql/data/mysql.pid).
解决:
当前已经存在3306端口,kill掉进程,然后重启即可
2.9、配置环境变量
mysql_home=/usr/local/mysql PATH=$PATH:$mysql_home/bin source /etc/profile
三、配置数据库
3.1 跳过授权表登录
#skip-grant-tables 重启服务
3.2、把password_expired 改成不过期
MySQL [(none)]> update mysql.user set password_expired="N" where user="root";
3.3、修改密码关闭跳过授权表
MySQL [(none)]> update mysql.user set authentication_string=password('123456') where user='root';修改root密码后如果第一次使用root用户登入mysql系统还会需要重置一次root密码
SET PASSWORD=PASSWORD('123456');
flush privileges;mysql5.7虽然还没有深入研究,但是它已经给我带来了很多的惊喜,特别是增加了sys库对于性能的分析有多了很多的便利,mysql已经越来越完善了,期待后面的使用。

神回复
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
张sir 回复该评论
发布于 2017-07-21 15:11:38