注意:安装过程需要通过管理员权限安装,否则会提示权限不够
切换权限
root用户是Linux系统的最高权限用户,使用如下命令从普通用户切换到root用户:
[mysql@localhost admin]# su root
键入回车键后,系统提示输入密码,进入root用户。
检测系统
安装前,检测系统是否自带安装MySQL:
rpm -qa | grep mysql
如果有安装则会跳出相应的mysql文件,可以选择进行卸载:
rpm -e mysql // 普通删除模式
rpm -e --nodeps mysql // 强力删除模式
安装MySQL
由于我使用的是CentOS7,(如果不是这个系统的可以自己去找找)在这个版本中MySQL数据库默认移除,故需自己安装:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm //下载这个rpm资源包
rpm -ivh mysql-community-release-el7-5.noarch.rpm //下载好之后安装这个rpm包
yum install mysql-server //安装好资源包之后,安装mysql_server
之后开始下载安装,在这个过程中,会出现两个需要选择的地方,都选择y就好,然后表面上安装成功,测试一下:
[root@host]# mysqladmin --version
安装过程中可能会出现:
直接安装是不行的,提示中需要先安装依赖
Error downloading packages:
mysql-community-server-5.6.45-2.el7.x86_64: [Errno 256] No more mirrors to try.
对应安装相应的软件包:
例: yum install mysql-server
yum install -y mysql-community-server
如果安装成功则会出现:
mysqladmin Ver 8.42 Distrib 5.7.27, for Linux on x86_64 //出现具体的版本号
如果没有输出任何信息,则安装未成功。
初始化MySQL:
mysqld --initialize
启动 MySQL:
systemctl start mysqld
查看 MySQL 运行状态:
systemctl status mysqld
登录MySQL
命令如下:
[root@host]# mysql
如果以上命令执行后输出 mysql>提示符,说明成功连接到Mysql服务器上,你可以在 mysql> 提示符执行SQL命令
注意:在5.7一下的版本,MySQL的初始密码为空,而mysql 5.7以上版本,MySQL数据库会带随机密码
所以可能会出现错误:
ERROR 1045 (28000): Access denied for user 'admin'@'localhost' (using password: NO)
这就是由于生成了随机密码,导致密码错误,(有些博客上改配置文件的我试了一下,没用啊~~~)查看随机密码登录就好:
查看随机密码:
grep 'temporary password' /var/log/mysqld.log //通过查找mysqld.log文件中的temporary password查找随机密码,
输入此命令后会显示随机密码:
[Note] A temporary password is generated for root@localhost: q.FFua-bd3yi //这是我的随机密码
登录MySQL:
[root@localhost admin]# mysql -u root -p //通过这条命令连接到MySQL服务器
Enter password: //将上面产生的随机密码输入即可登入成功,输入时,密码不显示,输入正确即可
更改MySQL密码
登录后使用简单的SQL命令出现:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
提示要更改密码才能操作。
一般来说,更改的方式有三四种,我这里举一个栗子:
格式:mysql> set password for 用户名@localhost = password('new password');
例子:mysql> set password for root@localhost = password('123456');
其他还有一些error:
MySQL没有打开,需要启动MySQL:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'