前言
Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息。然而,网上关于Linux安装mysql数据库的教程数不胜数,但是,大多教程都是漏洞百出。今天,为了帮助各位需要的人,从而写下Centos7安装配置mysql5.6的教程。好了,话不多说,上教程:
说明
- 由于是从笔记上copy下来的,可能已经有了少许变动,
- 特别需要注意的是目录问题!!!
- 本次采用的是二进制安装
下载
下载地址:https://dev.mysql.com/downloads/mysql/5.6.html
安装前奏
- 将文件上传到linux下
- 也可以 wget 直接下载,啥你不知道wget?那算了你还是老老实实的上传文件吧
文件解压
- 解压到
/usr/local/
目录下,需要说明的是文件解压到那个目录并不重要,
# 解压命令
tar -zxvf mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
# 修改名字为mysql
mv mysql-5.6.41-linux-glibc2.12-x86_64 /usr/local/mysql
检查操作
- 在接下来的mysql安装过程中,请一定保证自己当前所在目录是正确的!
[root@localhost ~]# 表示当前目录为~
[root@localhost mysql]# 表示当前目录为mysql
卸载默认mariadb
- 虽然我不知道为什么当时我要这样做…,可能是因为冲突了吧…
[root@localhost ~] rpm -qa|grep mariadb # 查询出来已安装的mariadb
[root@localhost ~] rpm -e --nodeps 文件名 # 卸载mariadb,文件名为上述命令查询出来的文件
[root@localhost ~] rm /etc/my.cnf #删除etc目录下的my.cnf
创建用户
- 执行以下命令来创建mysql用户组
[root@localhost ~] groupadd mysql
[root@localhost ~] useradd -g mysql mysql
安装依赖
yum -y install autoconf
安装
- 确保解压和检查操作依据做了
# copy一份my.cnf文件到/etc下
[root@localhost ~] cd /usr/local/mysql/support-files/
[root@localhost support-files] cp my-default.cnf /etc/my.cnf
[root@localhost mysql ] vim /etc/my.cnf
配置文件
# 若干如下复制即可
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M
开始安装
[root@localhost ~] cd /usr/local/mysql/
[root@localhost mysql] chown -R mysql:mysql ./ #修改当前目录拥有着为mysql用户
[root@localhost mysql] ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ #安装数据库
修改文件权限
- 需要注意的是目录:为 /usr/local/mysql/data/
[root@localhost mysql] chown -R mysql:mysql data #修改当前data目录的拥有者为mysql用户
修改my.cnf文件
- 我自己本机玩的,直接给较高的权限了
[root@localhost ~] chmod 777 /etc/my.cnf
配置成服务
- 注意文件目录,切记啊
[root@localhost mysql] cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
#增加mysqld服务控制脚本执行权限
[root@localhost mysql] chmod +x /etc/rc.d/init.d/mysqld
#将mysqld服务加入到系统服务
[root@localhost mysql] chkconfig --add mysqld
#检查mysqld服务是否已经生效
[root@localhost mysql] chkconfig --list mysqld
#结果如下就是正确的,表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
启动
[root@localhost mysql] service mysqld start
配置环境变量
- 将mysql的bin目录加入PATH环境变量,编辑 ~/.bash_profile文件
[root@localhost mysql] vim ~/.bash_profile
#在文件最后添加如下信息:然后保存即可
export PATH=$PATH:/usr/local/mysql/bin
# 刷新配置文件
[root@localhost mysql] source ~/.bash_profile
设置密码
- 设置密码,以root账户登录mysql,默认是没有密码的,
#设置新的密码
[root@localhost mysql] mysqladmin -u root password 'root'
# 登陆
[root@localhost mysql] mysql -uroot -p
配置远程可访问
- 设置远程主机登录,注意下面的your username 和 your password改成你需要设置的用户和密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;