linux 正确安装 mySQL全过程
操作系统:CentOS 7.2 64位
mySQL版本:mysql-5.6.35
安装过程:
(1)首先从mysql官网下载 MySQL Community Server 安装包。
选择对应的版本(32位或者64位):
本文以64位安装包为例! MySQL-5.6.35-1.linux_glibc2.5.x86_64.rpm-bundle.tar
(2)解压安装包:
tar -xvf MySQL-5.6.35-1.linux_glibc2.5.x86_64.rpm-bundle.tar
查看解压之后的文件:
MySQL-server-5.6.35-1.linux_glibc2.5.x86_64.rpm
MySQL-client-5.6.35-1.linux_glibc2.5.x86_64.rpm
MySQL-shared-5.6.35-1.linux_glibc2.5.x86_64.rpm
MySQL-devel-5.6.35-1.linux_glibc2.5.x86_64.rpm
MySQL-shared-compat-5.6.35-1.linux_glibc2.5.x86_64.rpm
MySQL-embedded-5.6.35-1.linux_glibc2.5.x86_64.rpm
MySQL-test-5.6.35-1.linux_glibc2.5.x86_64.rpm
其中server和client就是我们需要安装的rpm包!
(3)安装之前的清理工作
系统已经安装了其他版本的mysql-libs包和mysql数据库文件导致不兼容。同过以下命令清除:
yum remove mysql-libs
然后,还要详细检查卸载MySQL安装的所有文件,否则在后续安装发生各种错误:参见 CentOS下MySQL的彻底卸载
(4)安装mysql-server
rpm -ivh MySQL-server-5.6.35-1.linux_glibc2.5.x86_64.rpm --nosignature
注意:如果报如下错误,需要加上 --nosignature
warning: MySQL-server-5.6.35-1.linux_glibc2.5.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
如果没有报错,可以不用加 --nosignature
(5)安装mysql-client
rpm -ivh MySQL-client-5.6.35-1.linux_glibc2.5.x86_64.rpm --nosignature (同上)
(6)运行服务
service mysql start
(7)设置mysql的 root 用户密码
首先关掉mysql服务:/etc/init.d/mysql stop
安全模式启动mysql:mysqld_safe --skip-grant-tables & (&,表示在后台运行)
依次输入下面的命令:
# mysql
mysql> use mysql;
mysql> UPDATE user SET password=password("123456") WHERE user='root';
mysql> flush privileges;
mysql> exit;
##其中的密码值就是root用户的登录密码。
##本来mysql是不分大小写的,但是这个是修改的mysql中的mysql数据库的具体的值,要注意到。
(8)使用 root 用户 登录mysql,需要输入密码!
mysql -u root -p
第一次登录之后需要更改root用户的密码,不然任何操作都会报错:
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
使用下面命令修改密码:
mysql> set password=PASSWORD('123456');
然后创建一个mysql用户:
mysql> CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
其中 myuser是将要创建的用户名,mypassword是对应的登录密码。
运行下列命令,验证帐号是否创建成功:
mysql> SELECT host, user, password FROM mysql.user WHERE user='myuser';
(9)赋予MySQL用户权限
一个新建的MySQL用户没有任何访问权限,这就意味着你不能在MySQL数据库中进行任何操作。你得赋予用户必要的权限。以下是一些可用的权限:
●ALL:所有可用的权限
●CREATE:创建库、表和索引
●LOCK_TABLES:锁定表
●ALTER:修改表
●DELETE:删除表
●INSERT:插入表或列
●SELECT:检索表或列的数据
●CREATE_VIEW:创建视图
●SHOW_DATABASES:列出数据库
●DROP:删除库、表和视图
运行以下命令赋予"myuser"用户特定权限。
例如,为所有数据库/表赋予 CREATE 和 INSERT 权限:
mysql> GRANT CREATE, INSERT ON *.* TO 'myuser'@'localhost';
验证给用户赋予的全权限:
mysql> SHOW GRANTS FOR 'myuser'@'localhost';
将全部的权限赋予所有数据库/表:
mysql> GRANT ALL ON *.* TO 'myuser'@'localhost';
创建和设置一个MySQL用户最后的一个重要步骤:
mysql> FLUSH PRIVILEGES;
如此一来更改便生效了。
(具体参见:http://blog.sina.com.cn/s/blog_c2ab3e4b0102vox3.html)
(10)赋予用户远程登录mysql的权限
MySQL默认root用户只能本地访问,不能远程连接管理mysql数据库,Linux如何开启mysql远程连接?设置步骤如下:
首先需要通过root用户登录mysql。
然后为myuser用户设置远程登录的权限。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
这条命令是授与myuser用户从任何其它主机发起的访问(通配符%),密码是mypassword。
然后执行下面的命令使更改生效:
mysql>
FLUSH PRIVILEGES;
至此,linux上面安装mysql的全过程完毕!