linux上安装mysql数据库教程

1、 MySQL安装包下载

官方下载地址:https://dev.mysql.com/downloads/mysql/5.6.html#downloads

根据Linux版本选择相对应安装包下载

2、 创建安装目录

mkdir /usr/local/mysql

把下载的安装包存放该目录

3、 解压安装包


tar -xvf MySQL-5.6.36-1.el6.x86_64.rpm-bundle.tar

解压文件详情

MySQL-client-5.6.36-1.el6.x86_64.rpm                  #MySQL客户端程序

MySQL-devel-5.6.36-1.el6.x86_64.rpm                    #MySQL的库和头文件

MySQL-embedded-5.6.36-1.el6.x86_64.rpm            #MySQL的嵌入式程序

MySQL-shared-compat-5.6.36-1.el6.x86_64.rpm      #RHEL兼容包 
MySQL-shared-5.6.36-1.el6.x86_64.rpm                  #MySQL的共享库
MySQL-server-5.6.36-1.el6.x86_64.rpm                  #MySQL服务端程序
MySQL-test-5.6.36-1.el6.x86_64.rpm                     #MySQL的测试组件

4、为系统添加mysql组和mysql用户

添加mysql组

groupadd mysql

为mysql组添加mysql用户

useradd -r -g mysql -s /bin/false mysql


注意:Because the user is required only for ownership purposes, not login purposes, the useradd command uses the -r and -s /bin/false options to create a user that does not have login permissions to your server host. Omit these options if your useradd does not support them. (mysql只作为系统账号,不可用于登陆)

5、 mysql目录权限拥有者修改

chown -R mysql:mysql ./

6、 安装准备

查看之前是否有安装

rpm -qa|grep -i mysql

删除安装信息

rpm -e mysql-libs –nodeps

安装前先安装:

# yum install numactl

# yum -y install libnuma


7、 安装MySQL

按照如下顺序进行安装

rpm -ivh MySQL-client-5.6.36-1.el6.x86_64.rpm
rpm -ivh MySQL-devel-5.6.36-1.el6.x86_64.rpm
rpm -ivh MySQL-server-5.6.36-1.el6.x86_64.rpm
rpm -ivh MySQL-shared-5.6.36-1.el6.x86_64.rpm

注意:安装第三个server时,没有提示安装成功,因为文件冲突了,

冲突信息:

[root@azrlnx06 tmp]# rpm -ivh MySQL-server-advanced-5.6.20-1.rhel5.x86_64.rpm 
Preparing... ################################# [100%]
file /usr/share/mysql/czech/errmsg.sys from install of MySQL-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64
file /usr/share/mysql/danish/errmsg.sys from install of MySQL-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64
file /usr/share/mysql/dutch/errmsg.sys from install of MySQL-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64
file /usr/share/mysql/english/errmsg.sys from install of MySQL-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64
file /usr/share/mysql/estonian/errmsg.sys from install of MySQL-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64
file /usr/share/mysql/french/errmsg.sys from install of MySQL-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64
file /usr/share/mysql/german/errmsg.sys from install of MySQL-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64
file /usr/share/mysql/greek/errmsg.sys from install of MySQL-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64
........................................................................................................................................................................
file /usr/share/mysql/charsets/macroman.xml from install of MySQL-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64
file /usr/share/mysql/charsets/swe7.xml from install of MySQL-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64

解决办法如下:

检查是否存在mariadb的相关组件,然后删除mariadb相关组件。如下所示

[root@azrlnx06 mysql]# more /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[root@azrlnx06 mysql]# rpm -qa |grep mariadb
mariadb-libs-5.5.50-1.el7_2.x86_64
[root@azrlnx06 mysql]# rpm -e mariadb-libs-5.5.50-1.el7_2.x86_64
error: Failed dependencies:
libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
[root@azrlnx06 mysql]# rpm -e mariadb-libs-5.5.50-1.el7_2.x86_64 --nodeps

8、 安装完成,启动服务

service mysql start


9、 配置MySQL登录密码,并授权主机登陆。

(1)    获取MySQL安装时生成的随机密码

cat /root/.mysql_secret

(2)    通过获取的密码,执行登陆

mysql -uroot –p123456

注意:如果出现错误

Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'

解决办法如下:

这种问题需要强行重新修改密码方法如下:

/etc/init.d/mysql stop   (service mysqld stop )
/usr/bin/mysqld_safe --skip-grant-tables
另外开个SSH连接
[root@localhost ~]# mysql
mysql>use mysql
mysql>update user set password=password("123456") where user="root";
mysql>flush privileges;
mysql>exit

10. 重置root密码

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('p@ssw0rd');

(4)    授权主机登陆

授权任意主机可登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'p@ssw0rd' WITH GRANT OPTION;

 

授权指定主机可登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'xxx.xxx.xxx.xx' IDENTIFIED BY 'p@ssw0rd' WITH GRANT OPTION;

立即执行新权限

FLUSH PRIVILEGES;


(5)    退出MySQL命令行

quit

 

 

10、重启服务

service mysql restart 

11、开发3306端口

         查看防火墙状态   

/etc/init.d/iptables status


查看是否已开发3306端口,没有则开放3306端口

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT


注意:用navcat连接时提示

mysql"Access denied for user'root'@'IP地址'"

用root账号登录mysql以后,接下来看看A账号的相关信息:

mysql> use mysql;
Database changed
mysql> select User, Host from user where User='hive';
+------+--------------+
| User | Host         |
+------+--------------+
| hive | 127.0.0.1    |
+------+--------------+
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

这一下就明白了。尼玛难怪navicat客户端登不了。hive账户的host只有127.0.0.1,自然只能在本机登录了。

mysql> update user set Host='%' where User='hive';
 
 
  • 1

将hive账户设置为所有机器均可登录,然后再刷新一下权限:

mysql> flush privileges;

当用户从客户端请求登陆时,MySQL将授权表中的条目与客户端所提供的条目进行比较,包括用户的用户名,密码和主机。授权表中的Host字段是可以使用通配符作为模式进行匹配的,如test.example.com, %.example.com, %.com和%都可以匹配test.example.com这个主机。授权表中的User字段不允许使用模式匹配,但是可以有一个空字符的用户名代表匿名用户,并且空字符串可以匹配所有的用户名,就像通配符一样。 当user表中的Host和User有多个值可以匹配客户端提供的主机和用户名时,MySQL将user表读入内存,并且按照一定规则排序,按照排序规则读取到的第一个匹配客户端用户名和主机名的条目对客户端进行身份验证。

mysql匹配规则由精确到模糊。删除其他不是%号的用户,就行了

远程登录成功!!!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值