参考连接:
https://weibo.com/ttarticle/p/show?id=2309404169272896136216&infeed=1
http://blog.youkuaiyun.com/qq_17776287/article/details/53536761
一、安装mysql
1、下载安装包(官网下载:https://downloads.mysql.com/archives/community/)
过滤参数如下,然后找到包名为: mysql-5.6.34-linux-glibc2.5-x86_64.tar
2、卸载系统自带的Mariadb。
Centos7将默认数据库mysql替换成了Mariadb,所以要安装之前,需要先卸载Mariadb,打开Terminal终端:
[root@localhost ~]# rpm -qa|grep mariadb // 查询出来已安装的mariadb
[root@localhost ~]# rpm -e --nodeps 文件名 // 卸载mariadb,文件名为上述命令查询出来的文件
3、删除etc目录下的my.cnf,如果文件不存在就执行下一步
[root@localhost ~]# rm /etc/my.cnf
4、创建mysql用户组
[root@localhost ~]# groupadd mysql
5、创建一个用户名为mysql的用户并加入mysql用户组
[root@localhost ~]# useradd -g mysql mysql
6、将下载的压缩包放到 /usr/local/ 目录下(通过mv 移动文件到 /usr/local/ )
mv 文件名 /usr/local/
7、解压安装包
[root@localhost ~]# tar -xvf mysql-5.6.34-linux-glibc2.5-x86_64.tar
注:如果压缩包为:mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
[root@localhost ~]# tar -zxvf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
8、将解压好的文件夹重命名为mysql
[root@localhost local]# mv 解压出来的文件夹名 mysql
9、copy一份my.cnf文件到/etc下,然后修改文件。
e g:copy一份/usr/local/mysql/support-files/下的my-default.cnf文件到/etc下
[root@localhost support-files]# cp my-default.cnf /etc/my.cnf
配置/etc目录下的my.cnf文件
[root@localhost support-files]# vim /etc/my.cnf
通过vim编辑器编辑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
10、进入安装mysql软件目录
[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/ 安装数据库
此处可能出现错误。
错误1: FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:
Data::Dumper
解决方法:
yum install -y perl-Data-Dumper
错误2:Installing MySQL system tables…./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:
yum install libaio*
11、修改当前目录拥有者为root用户
[root@localhost mysql]# chown -R root:root ./
12、修改当前data目录拥有者为mysql用户
[root@localhost mysql]# chown -R mysql:mysql data
===============数据库安装完毕===============
二、配置
1、启动mysql服务和添加开机启动mysql服务
添加开机启动,把启动脚本放到开机初始化目录。
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql
2、启动mysql服务
创建缺少的文件
[root@localhost mysql]# mkdir /var/log/mariadb
[root@localhost mysql]# service mysql start
Starting MySQL. [ OK ]
3、把mysql客户端放到默认路径
[root@localhost mysql]# ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
注意:建议使用软链过去,不要直接包文件复制,便于系统安装多个版本的mysql
=================== 这是分割线 ==================
通过使用 mysql -uroot -p 连接数据库(默认数据库的root用户没有密码,这个需要设置一个密码)。
错误信息:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
解决方法:打开/etc/my.cnf,看看里面配置的socket位置是什么目录。“socket=/var/lib/mysql/mysql.sock”
路径和“/tmp/mysql.sock”不一致。建立一个软连接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
到这里任务算是完成了。之后就可以创建数据库用户,然后使用数据库了。
################ 分割线
三、权限控制
1、去除匿名用户
测试匿名用户登录
[root@localhost mysql]# mysql -ux3
可以看到匿名用户可以登录,具有information_schema和test库的相关权限。
删除匿名用户,使用root用户登录数据库
mysql>delete from mysql.user where User='';
mysql>flush privileges;
再次测试匿名用户登录
2、修改密码
通过登录mysql系统,
[root@localhost mysql]# mysql -uroot -p
Enter password: 【输入原来的密码】
mysql>use mysql;
mysql> update user set password=passworD("test") where user='root';
mysql> flush privileges;
mysql> exit;
可能的错误:-bash:mysql:未找到命令。
解决:
[root@ecs-fede bin]# ln -s /usr/local/mysql/bin/mysql /usr/bin/