- 强烈推荐参阅这一篇教程 https://www.cnblogs.com/kevingrace/p/8340690.html
- 下面我写的仅供参考
- 今天把Mysql5.1升级到了5.7,浪费了一天为了避免以后重复麻烦,总结一下(红色字体为正常执行顺序):
- 查看该操作系统上是否已经安装了mysql数据库
rpm -qa | grep mysql
- 通过 rpm -e 命令 或者 rpm -e –nodeps 命令卸载
rpm -e mysql...
// 普通删除模式rpm -e --nodeps mysql...
// 强力删除模式(包括依赖包)
此处mysql…代指第一步查询列表- 如果没有安装,只是有包,则remove
yum -y remove mysql-libs
查看卸载是否成功rpm -qa | grep mysql
- 使用rpm软件包安装mysql
安装依赖包
下载地址为:https://dev.mysql.com/downloads/mysql/5.7.html#downloadsrpm -ivh mysql-community-common-5.7.9-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.9-1.el6.x86_64.rpm
安装客户端rpm -ivh mysql-community-client-5.7.9-1.el6.x86_64.rpm
安装服务端rpm -ivh mysql-community-server-5.7.9-1.el6.x86_64.rpm
- 根据/etc/my.cnf创建相应的文件,并授权
mkdir -p /var/run/mysql
mkdir -p /var/log/mysql
chown -R mysql:mysql /var/log/mysql
chown -R mysql:mysql /var/run/mysql
注:/etc/my.cnf中没有basedir路径,需要添加
basedir=/usr/local/mysql- 初始化数据库
cd /usr/bin
会为root账户生成一个随机的初始密码( 密码位置:/var/log/mysqld.log )
注:使用命令:mysql -u root -p,然后输入密码来登录MySQLmysqld --initialize --user=mysql
不会为root账户生成一个随机的初始密码
注:使用命令:mysql -u root –skip-password直接登录MySQLmysqld --initialize-insecure --user=mysql
注:初始化时,mysqld服务会检查数据目录是否存在:
如果数据目录不存在,mysqld则会创建它。
如果数据目录存在,且不是空目录(即包含有文件或子目录),mysqld会显示一条错误信息并中止:
[ERROR] –initialize specified but the data
directory exists. Aborting.
解决方案: 将数据目录重命名后,重新再初始化一次 mv /var/lib/mysql /var/lib/mysql.bak8.- 配置mysql服务开机自动启动
检查自启动项列表中没有mysqld这个,如果没有就添加mysqld:chkconfig --list mysqld
chkconfig --add mysqld
设置开机启动chkconfig mysqld on
- 启动mysql
启动mysqld服务service mysqld start
检查mysqld是否已经启动service mysqld status
- 修改mysql用户密码(初始root密码文件在/var/log/mysqld.log)
mysql -uroot-p
mysql>alter user 'root'@'localhost' identified by '123456';
- 已root用户身份登录
mysql -uroot -p123456
- 1.请看下面的重点:一般你rpm方式安装成功是没有问题的,问题是安装成功后启动不起来的事。
- 2.你要想执行mysql -uroot -p命令首先你得启动你安装的mysql服务,当你执行启动命令:service mysqld start出现报错信息:
MySQL Daemon failed to start.
Starting mysqld: [FAILED]
- 解决方法:执行下列命令然后再执行service mysqld start启动mysql
rm -fr /var/lib/mysql/*
m /var/lock/subsys/mysqld
killall mysqld
- 3.mysql服务启动后,执行mysql -uroot -p进入修改原始密码:
注:若登录失败就使用命令mysql -u root --skip-password
直接登录MySQL,执行下列语句修改密码:
MySQL -u root
mysql>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
该语句若失败, 用UPDATE直接编辑user表
mysql -u root
mysql>use mysql;
mysql>UPDATE user SET Password = PASSWORD('123456') WHERE user = 'root';
mysql>FLUSH PRIVILEGES;
- 若是执行上述修改密码报错
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
这时候我们只要
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
再执行修改密码即可
-
4 远程连接mysql root账号报错:2003-can’t connect to MYSQL serve
解决方法:授权法
1.登录数据库:mysql -uroot -p(密码|123456)
2.执行:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
3.执行flush privileges;
命令立即生效改表法:
mysql>use mysql;
mysql>update user set host = ‘%’ where user = ‘root’;
收藏博客|方便查找