Centos7安装并配置mysql5.6
1.下载安装包:https://pan.baidu.com/s/18xAumOggjm9bu9Wty6kYjg
2、卸载系统自带的Mariadb
2.1查询已安装的mariadb
[root@localhost ~]# rpm -qa|grep mariadb
2.2卸载mariadb
[root@localhost ~]# rpm -e --nodeps 文件名
3、解压安装MySQL
3.1 删除etc目录下的my.cnf
[root@localhost ~]# rm /etc/my.cnf
3.2 执行以下命令来创建mysql用户组
[root@localhost ~]# groupadd mysql
3.3执行以下命令来创建一个用户名为mysql的用户并加入mysql用户组
[root@localhost ~]# useradd -g mysql mysql
3.4 将下载的压缩包放到 /usr/local/ 目录下(通过mv 要移动的文件 /usr/local/)
mv /mnt/myusb/mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz /usr/local
3.5 解压
tar -zxvf mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz
3.6 重命名文件夹
[root@localhost local]# mv 解压出来的文件夹名 mysql
3.7 copy一份/usr/local/mysql/support-files/下的my-default.cnf文件到/etc下
[root@localhost support-files]# cp my-default.cnf /etc/my.cnf
4、配置MySQL
1、定位到安装目录 [root@localhost ~]# cd /usr/local/mysql 2、修改当前目录拥有着为mysql用户 [root@localhost mysql]# chown -R mysql:mysql ./ 3、初始化数据库 [root@localhost mysql]# ./scripts/mysql_install_db --user=mysql
4、修改当前data目录拥有者为mysql用户
[root@localhost mysql]# chown -R mysql:mysql data
(2019-08-05更新)若在运行上面第三步时出现FATAL ERROR: please install the following Perl modules before executing
是缺少autoconf插件,安装参考我的另一篇博客:https://www.cnblogs.com/congcongdi/p/11304803.html
以下是数据库的一些相关配置,保证数据库更好的运行。
4.1授予my.cnf最大权限
[root@localhost ~]# chown 777 /etc/my.cnf
此处设置存在隐患:
- 权限777,任何一个用户都可以改my.cnf,存在很大的安全隐患
- 在开启和关闭服务时会出现警告(
Warning: World-writable config
file
'/etc/my.cnf'
is ignored
),可能会造成服务无法关闭
所以应该设置成644,设置为用户可读写,其他用户不可写.
4.2复制启动脚本到资源目录
[root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysql
4.3增加mysqld服务控制脚本执行权限
[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysql
4.4将mysqld服务加入到系统服务
[root@localhost mysql]# chkconfig --add mysql
4.5检查mysqld服务是否已经生效
[root@localhost mysql]# chkconfig --list mysql
命令输出类似下面的结果:
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止
命令为:service mysql start和service mysql stop
5、启动MySQL服务
[root@localhost mysql]# service mysqld start
6、配置环境变量,编辑/etc/profile,在文本最后添加:
#mysqL export MYSQL_HOME=/usr/local/mysql export PATH=$PATH:${MYSQL_HOME}/bin
配置之后执行source /etc/profile使配置生效
7、安装完成后,登录数据库发现让输入密码,然后并不知道密码,查资料才知道centos7安装mysql时会得到一个系统给的初始密码,需要自己进行修改
此处不一定每个人都需要输密码,可能默认是无密码登录的,在要输入密码的时候直接回车即可。
方法一:
grep 'temporary password' /var/log/mysql.log
运行后会得到一个密码,如果你什么都没有查到,说明你的mysql数据库时默认没有密码的,可以直接输入mysql登录,若不行,可尝试第二种方法。
方法二:
原理:修改MySQL 的配置文件,使其跳过密码验证,可以无密码登录,然后进行密码修改,之后恢复原配置文件
步骤:
修改前要先启动mysql,检查其运行状态
systemctl start mysql #启动
service mysqld status #查看运行状态
1>修改/etc/my.cnf
vim /etc/my.cnf
在配置文件的结束位置添加skip-grant-tables
2>重启MySQL
systemctl restart mysql
3>修改密码
1.输入mysql免密码登录
2.选择mysql数据库
use mysql;
3.修改密码
update mysql.user set password=password(‘你的密码’) where user=’root’;
4.修改完成后输入exit;退出,重新回到/etc/my.cnf该文件删除之前添加的skip-grant-tables语句即可完成密码修改
4> 重启MySQL,使用以下命令登录
mysql -uroot -p
然后输入上一步修改之后的密码即可登录。
9、允许远程访问数据库
由于数据库是放在服务器上的,没有可视化工具,操作不方便,所有可以允许远程访问,使用同一网段的有可视化工具的电脑就可以直接对数据库进行访问。
1>进入mysql mysql -uroot -p 输入密码登录
2>选择mysql数据库use mysql;
3>修改root远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
4>更新数据库
FLUSH PRIVILEGES;
5>开放3306端口
10、导入数据库
1>首先建空数据库
mysql>create database abc;
2>导入数据库
mysql>use abc; #选择数据库 mysql>set names utf8; #设置数据库编码 mysql>source sql文件所在路径; #导入数据
此时会看到很多查询语句,结束就导入成功了。