MySql5.7免安装版配置过程(ubuntu16.04)
原创
2017年02月07日 16:58:24
<ul class="article_tags clearfix csdn-tracking-statistics" data-mod="popu_377" style="display: none;">
<li class="tit">标签:</li>
<!-- [endarticletags]-->
</ul>
<ul class="right_bar">
<li><button class="btn-noborder"><i class="icon iconfont icon-read"></i><span class="txt">1001</span></button></li>
<li class="edit" style="display: none;">
<a class="btn-noborder" href="http://write.blog.csdn.net/postedit/54911665">
<i class="icon iconfont icon-bianji"></i><span class="txt">编辑</span>
</a>
</li>
<li class="del" style="display: none;">
<a class="btn-noborder" onclick="javascript:deleteArticle(fileName);return false;">
<i class="icon iconfont icon-shanchu"></i><span class="txt">删除</span>
</a>
</li>
</ul>
</div>
<div id="article_content" class="article_content csdn-tracking-statistics" data-mod="popu_519" data-dsm="post" style="overflow: hidden;">
一、安装环境:
操作系统:ubuntu16.04
数据库:mysql-5.7.17-linux-glibc2.5-x86_64 (免安装版)
二、解压
tar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql
三、增加用户和组
groupadd mysql;
useradd -g mysql mysql;
四、创建目录及目录权限:
mkdir /mysql /mysql/data /mysql/log
修改目录权限
chown -R mysql:mysql /usr/local/mysql /mysql
五、在/etc目录下创建文件:my.cnf
直接使用 vi my.cnf创建
- [client]
- port = 3306
- socket = /tmp/mysql.sock
- [mysqld]
- server_id=10
- port = 3306
- user = mysql
- 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=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[client]
port = 3306
socket = /tmp/mysql.sock [mysqld]
server_id=10
port = 3306
user = mysql
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=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
六、初始化数据库及配置
注意: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
配置环境变量
mysql_home=/usr/local/mysql
PATH=$PATH:$mysql_home/bin
七、配置数据库密码及远程访问:
使用初始化密码进行登录:
密码存储在日志文件中:sudo vi mysql-error.log
mysql -u root -p *******
初次使用,设置root密码:
SET PASSWORD=PASSWORD('root');
然后才可以使用和操作数据库进行修改:
update mysql.user set authentication_string=password('root') where user='root';
修改远程访问权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root_password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES ;
八、ubuntu下增加mysql到系统默认启动
sudo update-rc.d mysql defaults