首先我先给大家介绍下MariaDB和mysql的区别.
上图,“MySQL之父”的骨灰级程序员Monty,但是mysql被Oracle收购后,Monty又开始去发展另一条数据库的道路,并且以Monty的女儿名称Maria命名了MariaDB,在centos7中yum中有MariaDB,但是找不到mysql数据库.事实,MariaDB是mysql另一个身份,mysql中的sql和命令都可以在MariaDB中使用.但是一些老技术人员能还是喜欢使用mysql,并且公司也会要求使用mysql,而不是MariaDB.那么现在centos7下去安装mysql数据库很多人安装有问题,甚至安装时一路磕磕绊绊.接下来我给大家提供安装步骤,只要你一步步走来下,就可以安装成功.
数据库安装
介绍centos7
当前centos7下安装mysql真的很费劲,韩老师也是醉了好久,只从centos7上有了Mariadb,mysql安装更加难,百度上能找的我都找遍了,都不能配置下来。今天废了九牛二虎之力才把mysql在centos7上安装成功。这里特别说下,mysql并不是在linux上安装很难,只是在centos7上安装费劲而已。
正式开始安装mysql数据库
查询出来已安装的mariadb
rpm -qa|grep mariadb
卸载mariadb
rpm -e --nodeps 文件名
删除etc目录下的my.cnf(没有可以忽略)
rm /etc/my.cnf
创建mysql用户组
groupadd mysql
创建一个用户名为mysql的用户并加入mysql用户组
useradd -g mysql mysql
将下载的压缩包放到 /usr/local/ 目录下
tar -zxvf mysql-5.6.34-linux-glibc2.5-x86_64.tar -C /usr/local
重命名为mysql
mv mysql-5.6.34-linux-glibc2.5-x86_64 mysql
在etc下添加配置文件my.cnf
这里我们可以去/usr/local/mysql/support-files下拷贝一份my-default.cnf到/etc下并重命名my.cnf
cp /mysql/support-files/my-default.cnf /etc/my.cnf
配置/etc目录下的my.cnf
编辑 vi /etc/my.cnf,把下面的代码全部复制到my.cnf文件下,这里中文注释复制到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
进入安装mysql软件目录
[root@localhost mysql]#cd /usr/local/mysql
修改当前目录拥有着为mysql用户
[root@localhost mysql]#chown -R mysql:mysql ./
安装数据库
[root@localhost mysql]#./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
注意:在安装mysql数据库时,这里也许会给你报一个错误,说是没有找到xxx解析器,莫惊慌,我给你解决...
上述错误是因为操作系统缺失了一个Data:Dumper模块,我们安装下即可。
安装autoconf库(此库安装时会安装Data:Dumper模块)
yum -y install autoconf
安装完成后,重新回到安装数据库步骤,执行安装数据库命令,这时即可。
修改当前data目录的拥有者为mysql用户
chown -R mysql:mysql data
到此数据库安装完毕!
配置MySQL
授予my.cnf最大权限
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 0:off 1:off 2:on 3:on 4:on 5:on 6:off
表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止
数据库启停命令
命令为:service mysqld start和service mysqld stop
启动mysqld
service mysqld start
将mysql的bin目录加入PATH环境变量
vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile
以root账户登录mysql,默认是没有密码的
mysql -uroot -p
要输入密码的时候直接回车即可。
设置root账户密码为root(也可以修改成你要的密码)
mysql>use mysql;
mysql>update user set password=password('root') where user='root' and host='localhost';
mysql>flush privileges;
设置远程主机登录
注意下面的your username 和 your password改成你需要设置的用户和密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;