数据包命名格式解释
mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz
黑色粗体表示为包名称
蓝色表示linux系统二进制包
红色表示构架
1、上传mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz到服务器,可以使用wget官方下载,或者使用ftp把事先下载好的上传到服务器。并安装依赖包
yum install libaio
2、创建mysql用户与mysql用户组,不允许shell登录。
groupadd mysql
useradd mysql -g mysql
usermod mysql -s /bin/nologin
3、解压mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz到指定目录/usr/local/mysql/,没有这个文件夹请先用mkdir建立这个mysql文件夹
tar -zxvf mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz -C /usr/local/mysql/
4、将mysql文件夹所有权限授权给mysql用户
[[email protected] mysql]# chown -R mysql:mysql ../mysql
5、创建相关目录
[[email protected] etc]# cd /data/
[[email protected] data]# mkdir mysql
[[email protected] data]# chown mysql:mysql mysql/
6、修改/etc/my.cnf配置文件,一开始系统自带了my.cnf,这个建议mv /etc/my.cnf /etc/my.cnf.back备份,将[[email protected] mysql]# cp support-files/my-default.cnf /etc/my.cnf 拷贝一份到/etc下
配置内容
[client]
#password = [your_password]
#socket = /usr/local/mysql/mysql.sock
default-character-set= utf8
[mysqld]
user = mysql
port = 3306
socket = /usr/local/mysql/mysql.sock
back_log = 120
max_connections = 3000
max_connect_errors = 30
max_allowed_packet = 32M
binlog_cache_size = 4M
max_heap_table_size = 128M
sort_buffer_size = 16M
join_buffer_size = 16M
query_cache_size = 128M
query_cache_limit = 4M
ft_min_word_len = 8
transaction_isolation = REPEATABLE-READ
key_buffer_size = 128M
read_buffer_size = 8M
skip_name_resolve = 1
basedir = /usr/local/mysql
datadir = /data/mysql
tmpdir = /tmp
log_error = error.log
default-storage-engine = INNODB
character-set-server = utf8
collation-server = utf8_general_ci
server-id = 1
[mysql]
no-auto-rehash
7、初始化数据库并更改root用户密码
./bin/mysqld --initialize --datadir=/data/mysql --user=mysql #初始化数据库的时候,最后一行输出会有一个root用户的随机密码,记住这个随机密码,第一次用root用户登录是要这个随机密码的。在进行其他命令操作之前要修改root用户的密码。
如果在命令行没有出现提示信息,则root随机密码在error.log错误日志里面。
命令如下:
SET PASSWORD FOR ‘root‘@‘localhost‘ = PASSWORD(‘newpassword‘);
4、开启mysql服务,我这里是用mysql用户启动。
/usr/local/mysql/support-files/mysql.server start
附录:
1、连接数据库遇到报错
[[email protected] bin]# ./mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)
解决,在/tmp目录下建立一个软连接到mysql.sock文件路径
[[email protected] tmp]# ln -s /usr/local/mysql/mysql.sock mysql.sock