MySQL5.7出来也有大半年了,业内也一直在宣传5.7有多么的N,官网的也是宣传5.7有好几倍的速度的提高包括在语法方面更多的支持、JOSN、并行复制等;可是一直期待的线程池仍是没有在5.7中出现有点遗憾。忍不住也下载一个来玩玩,mysql5.7的安装相对于5.6仍是有点区别,本章主要介绍二进制的安装方法。mysql
环境:centos6.7,mysql5.7.12linux
安装sql
我下载的是版本是mysql5.7.12社区版,具体的下载方法就不介绍,在官网就能够找到。数据库
解压拷贝express
mv mysql-5.7.14-linux-glibc2.5-i686 /usr/local/mysql
先建立mysql用户vim
groupadd mysql useradd -r -g mysql -s /bin/false mysql
建立mysql的数据目录,该目录在初始化数据库的时候会用到centos
mkdir /mysql /mysql/data /mysql/log
修改目录权限服务器
chown -R mysql:mysql /usr/local/mysql /mysql
建立my.cnf文件socket
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
说明:这里只是进行了一些简单的配置
初始化数据库
在5.7.6以前初始化的方法是:bin/mysql_install_db --user=mysql
我下载的是最新的5.7.12也是4.12号刚发布的版本,5.7.6以后的版本初始化数据库再也不使用mysql_install_db
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文件中,不然会打印出来。
bin/mysql_ssl_rsa_setup --datadir=/mysql/data
修改目录权限
chown -R mysql:mysql /usr/local/mysql /mysql
配置启动文件
cp support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysql
chkconfig mysql on
service mysql start
配置环境变量
mysql_home=/usr/local/mysql
PATH=$PATH:$mysql_home/bin
source /etc/profile
修改密码
在5.7中存储密码的字段再也不是password了,变成了authentication_string
update mysql.user set authentication_string=password('root') where user='root';
修改root密码后若是第一次使用root用户登入mysql系统还会须要重置一次root密码
SET PASSWORD=PASSWORD('root');
flush privileges;
和5.6相比数据目录有一些变化板块多出了一些.pem后缀的文件暂时还不知道这些文件的做用,其中多出的sys库是一个很大的特色,这个系统库中包含了不少资源信息统计的视图表包括服务器的io、memory、wait、lock、statement等
mysql5.7虽然尚未深刻研究,可是它已经给我带来了不少的惊喜,特别是增长了sys库对于性能的分析有多了不少的便利,mysql已经愈来愈完善了,期待后面的使用。
备注: 做者:pursuer.chen 博客:http://www.cnblogs.com/chenmh 本站点全部随笔都是原创,欢迎你们转载;但转载时必须注明文章来源,且在文章开头明显处给明连接。 《欢迎交流讨论》 |