CentOS 7 安装MySql 5.5.60
一、方法一
tar.gz安装
1.安装之前的准备
-
卸载centos7自带的mariadb
rpm -qa|grep mariadb #查看一下是否有mariadb相关的包 rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64 #把查询到的包卸载
-
下载mysql安装包
wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.60.tar.gz
- 下载cmake安装包
wget https://cmake.org/files/v3.10/cmake-3.10.2.tar.gz
- 添加mysql用户和组
groupadd mysql useradd mysql -s /sbin/nologin -M -g mysql # -s /sbin/nologin 表示禁止该用户登录,加强安全; -g mysql 指定属于mysql组; -M 表示不创建用户家目录
- 安装ncurses-devel
yum install ncurses-devel -y
- 安装cmake
tar zxvf cmake-3.10.2.tar.gz -C /usr/local cd /usr/local/cmake-3.10.2 ./configure gmake && gmake install 此处如果失败请检查configure配置时的错误文件,根据文件提示操作,然后再进行配置。也可以安装 gcc再试
2.安装myqsl
tar zxvf mysql-5.5.60.tar.gz cd mysql-5.5.60 cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.60 -DMYSQL_DATADIR=/application/mysql-5.5.60/data -DMYSQL_UNIX_ADDR=/application/mysql-5.5.60/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_FAST_MUTEXES=1 -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 -DWITH_DEBUG=0 make && make install
-
做软连接
ln -s /application/mysql-5.5.60/ /application/mysql
-
mysql目录授权
chown -R mysql:mysql /application/mysql-5.5.60/
-
复制相关文件
cd /application/mysql/support-files cp my-small.cnf /etc/my.cnf cp mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld
- mysql初始化
cd /application/mysql/scripts/ ./mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql
- 启动mysql
/etc/init.d/mysqld start
- 配置环境变量
echo 'export PATH=/application/mysql/bin:$PATH'>>/etc/profile source /etc/profile
- 配置登陆密码
/application/mysql//bin/mysqladmin -u root password 'bai123456'
-
设置mysql开机启动
chkconfig mysqld on chkconfig --list mysqld #查看一下
- 登录mysql
正常的情况是可以正常登陆进去的,但是我在登录的时候报了以下错误信息:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
解决方法:
- 1.停止mysql数据库
/etc/init.d/mysqld stop
- 2.执行如下命令
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
- 3.使用root登录mysql数据库
mysql -u root mysql
- 4.更新root密码
UPDATE user SET Password=PASSWORD('ZACS164.COM') where USER='root';
- 5.刷新权限
FLUSH PRIVILEGES;
- 6.退出mysql
-
7.重启mysql
/etc/init.d/mysqld restart
- 8.使用root用户重新登录mysql
二、方法二
tar.gz安装
准备安装
由于CentOS7自带的是 Mariadb, 所以先来删除他吧...
1. 查找版本
# rpm -qa|grep mariadb
执行命令后会出现类似 MariaDB-server-5.5.49-1.el7.centos.x86_64 之类的鬼..记住名字就行了..
2. 删除
# rpm -e --nodeps 上面查出来的文件名
3. 删除配置文件
# rm /etc/my.cnf
到这里就OK了...现在我们开始安装mysql
开始安装
1. 首先官方下载MySQL Community Server 5.5.60
这里要选Linux - Generic哟.
2. ftp上传到CentOS中
3. 解压
# tar -xvf mysql-5.5.60-linux-glibc2.12-x86_64.tar.gz
4. 复制到local文件夹, 注意,这里前面mysql的文件夹最好使用 ls 命令查看一下.
# mv mysql-5.5.60-linux-glibc2.12-x86_64 /usr/local
5. 修改文件夹名称, 注意文件夹名称哟..
# cd /usr/local # mv mysql-5.5.60-linux-glibc2.12-x86_64 mysql-5.5.60
6. 修改my.cnf配置文件
# vi /etc/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-5.5.60 # 设置mysql数据库的数据的存放目录, 这里的目录一定要是你解压后并且改了名的目录哟.. datadir=/usr/local/mysql-5.5.60/data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB lower_case_table_name=1 max_allowed_packet=16M
7. 切换目录到mysql中
# cd /usr/local/mysql-5.5.60
8. 添加用户组与用户, 这里需要将目录切换到mysql目录下哟..
# groupadd mysql # useradd -g mysql mysql # chown -R mysql:mysql ./
9. 安装mysql
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.5.60/ --datadir=/usr/local/mysql-5.5.60/data/
接上图
10. 配置Mysql
# chown -R mysql:mysql data # chown 777 /etc.my.cnf # cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld # chmod +x /etc/rc.d/init.d/mysqld # chkconfig --add mysqld # chkconfig --list mysqld
11. 开启服务
# service mysqld start
12. 配置PATH
# vi ~/.bash_profile
在文件最后面加入以下内容,并使用:wq保存
export PATH=$PATH:/usr/local/mysql-5.5.60/bin
13. 刷新PATH
# source ~/.bash_profile
14. 登录mysql, 这时mysql没有密码, 当出现Enter password:时直接回车
# mysql -uroot -p
15. 修改root密码
mysql> use mysql mysql> update user set password=password('需要设置的密码') where user='root' and host='localhost'; mysql> flush privileges;
16. 设置远程登录
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '刚才设置的root密码' WITH GRANT OPTION;
到此所有配置全部完毕. 你可以使用sqlyog或者其他方式登录mysql了...