一、我们在官网下载mysql安装包mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz(https://dev.mysql.com/downloads/mysql/)
二、因为centos7默认带了数据库Mariadb,我们先卸载此数据库
[root@localhost ~]# rpm -qa|grep mariadb // 查询出来已安装的mariadb
[root@localhost ~]# rpm -e --nodeps 文件名 // 卸载mariadb,文件名为上述命令查询出来的文件
三、创建mysql用户组
[root@localhost ~]# groupadd mysql
四、创建一个用户名为mysql的用户并加入mysql用户组
[root@localhost ~]# useradd -g mysql mysql
五、将下载的安装文件放到/usr/local/
六、解压安装包
tar -zxvf mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz
七、将解压好的文件夹重命名为mysql
[root@localhost local]# mv 解压出来的文件夹名 mysql
八、将配置文件复制一份到etc下
[root@localhost ~]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
九、配置/etc目录下的my.cnf文件
[root@localhost ~]# vi /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
十、进入mysql软件目录
[root@localhost ~]# cd /usr/local/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/
十一、此时我这里报错,
执行命令安装perl和perl-devel
yum -y install perl perl-devel
重新执行命令
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/home/mysql/data/
还有报错:
我们安装 autoconf库
yum -y install autoconf
然后再次执行
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/home/mysql/data/
十二、修改data目录的拥有者为mysql
[root@localhost mysql]# chown -R mysql:mysql data
十三、
运行命令:service mysqld start
十四、此时报错:
十五、建立软连接,到此数据库安装启动成功
Failed to start mysql.service: Unit not found.
#1、查询/etc/init.d/下是否存在mysql
ll /etc/init.d/ | grep mysql
#发现该目录下并没有mysql的文件,若存在,请备份一下
#2、查询mysql.server
find / -name mysql.server
#mysql.server一般在你安装的mysql目录下,自己是编译安装,所以知道目录在哪里,不知道的这样看一下
#3、执行复制操作,/usr/local/mysql/是我自己的mysql安装目录,大家根据查询出来的结果复制
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
#建立软连接
ln -s /usr/local/mysql/bin/mysql /usr/bin
#然后 service mysql start 启动成功!
十六、授予my.cnf最大权限
[root@localhost ~]# chmod 777 /etc/my.cnf
十七、设置开机自启动服务控制脚本,完成后我们就可以使用service mysqld start和service mysqld stop来开关数据库
[root@localhost mysql]# chmod +x /etc/rc.d/init.d/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即为生效
十八、将mysql的bin目录加入PATH环境变量,编辑 ~/.bash_profile文件
[root@localhost mysql]# vim ~/.bash_profile
在文件最后添加如下信息:
export PATH=$PATH:/usr/local/mysql/bin
十九、登录数据库,修改root的密码为123456
mysql -u root -p
初始无密码,在输入密码处直接按回车就可以
此处报一个/tmp/sock(2)的错误,处理方式如下:
1、给/var/lib/mysql授权
chmod 777 /var/lib/mysql
2、建立软连接
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
3、重启mysql
service mysqld restart
mysql>use mysql;
mysql>update user set password=password('123456') where user='root' and host='localhost';
mysql>flush privileges;
二十、设置远程连接
GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH
GRANT OPTION;
二十一、使用客户端尝试连接