linux 安装mysql5.7.x操作步骤
1.下载MySQL安装包
由于官网下载比较慢,暂时我这边采用的方法是通过网易云的centos镜像下载的地址是
1
| http://mirrors.163.com/mysql/Downloads/MySQL-5.7/
|
然后手动下载 mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz 文件
通过xftp或者其他工具上传到 /usr/local
目录下面
然后开始解压和创建目录
1 2 3 4 5
| cd /usr/local tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql cd mysql mkdir data log
|
以上就完成了mysql的软件的上传步骤
2.创建用户组mysql,创建用户mysql并将其添加到用户组mysql中,并赋予读写权限
1 2 3 4 5 6 7 8 9 10 11 12
| groupadd mysql useradd -r -g mysql mysql chown -R mysql mysql/ chgrp -R mysql mysql/ mkdir /home/mysql
su - mysql 如果出现-bash-4.2$的问题解决办法 如果直接cp配置文件报错,那就切换root用户 命令:su cp /etc/skel/.bashrc /home/mysql/ cp /etc/skel/.bash_profile /home/mysql/ source ~/.bashrc 就可以解决
|
3.创建配置文件
打开MySql配置文件
把已经存在的注释,或者cp之前的文件备份也行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| [client] #客户端配置 port = 3306 socket =/usr/local/mysql/data/mysql.sock
[mysqld]
character_set_server=utf8 init_connect='SET NAMES utf8' #安装目录 basedir=/usr/local/mysql #数据库存放目录 datadir=/usr/local/mysql/data
#为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件 socket=/usr/local/mysql/data/mysql.sock
##错误日志:记录启动,运行,停止mysql时出现的信息 log-error=/usr/local/mysql/log/mysqld.log
#如果存在,再次start时会报已经启动 pid-file=/usr/local/mysql/data/mysqld.pid
#linux下要严格区分大小写,windows下不区分大小写 #1表示不区分大小写,0表示区分大小写 lower_case_table_names = 0
#默认sql模式,严格模式 #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 #ONLY_FULL_GROUP_BY #NO_ZERO_IN_DATE 不允许年月为0 #NO_ZERO_DATE 不允许插入年月为0的日期 #ERROR_FOR_DIVISION_BY_ZERO 在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。如 果未给出该模式,那么数据被零除时MySQL返回NULL #NO_ENGINE_SUBSTITUTION 不使用默认的存储引擎替代
sql_mode= STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# mysql服务器最大连接数值的设置范围比较理想的是:服务器响应的最大连接数值占服务器上限连接数值的比例值在10%以上 # Max_used_connections / max_connections * 100% max_connections = 512 # 阻止过多尝试失败的客户端,如果值为10时,失败(如密码错误)10次,mysql会无条件阻止用户连接 max_connect_errors = 1000000 max_connections=5000 default-time_zone = '+8:00' #表描述符缓存大小,可减少文件打开/关闭次数,一般max_connections*2。 table_open_cache = 1024 #MySQL 缓存 table 句柄的分区的个数,每个cache_instance<=table_open_cache/table_open_cache_instances table_open_cache_instances = 32 #mysql打开最大文件数 open_files_limit = 65535
#是MySQL执行排序使用的缓冲大小。如果想要增加ORDER BY的速度,首先看是否可以让MySQL使用索引而不是额外的排序阶段 #如果不能,可以尝试增加sort_buffer_size变量的大小 sort_buffer_size = 16M
|
保存退出 insert键切换命令模式,Esc
+ :
+ wq
4.初始化mysql数据库
初始化之前,需要先安装MySql依赖包libaio
同上,将libaio的rpm包上传到 usr/local
目录下
安装rpm包
1
| rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
|
初始化MySQL
1
| /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
|
5.查看初始化密码
1
| cat /usr/local/mysql/log/mysqld.log | grep 'password'
|
记下这个密码,待会登录MySQL使用
6.启动服务,进入mysql,修改初始密码,运行远程连接(这里执行完后,密码将变成:你设置的新密码)
切换用户
启动服务
1
| /usr/local/mysql/support-files/mysql.server start
|
登录MySQL
1
| /usr/local/mysql/bin/mysql -uroot -p
|
输入刚刚记下的密码
修改新密码,root可以自己定义
1
| set password=password('root');
|
更新权限
修改用户表
1
| update mysql.user set authentication_string= password ('root') WHERE User='root';
|
1
| UPDATE mysql.user set Host='%' where `User`='root';
|
更新
7.开机自启动
设置之前先切换到root用户,不然会报权限错误,命令:su
1
| cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
|
8.使用service mysqld命令启动/停止服务
切换到MySQL用户
1 2
| #启动/停止/重启服务 service mysqld start/stop/restart
|
9.添加系统路径
添加
1
| export PATH=/usr/local/mysql/bin:$PATH
|
更新
最后使用数据库连接工具测试连接
完成