centos 安装mysql

本文详细介绍了如何在Linux系统中使用RPM包管理器安装MySQL组件,包括检查已安装包、删除、安装顺序、依赖包处理及常见问题解决,如冲突、依赖缺失和权限问题。还涵盖了启动服务、设置密码、权限管理和端口调整等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Linux下RPM格式安装

rpm包内容

        MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm #MySQL客户端程序

        MySQL-devel-5.6.21-1.linux_glibc2.5.x86_64.rpm #MySQL的库和头文件

        MySQL-embedded-5.6.21-1.linux_glibc2.5.x86_64.rpm #MySQL的嵌入式程序

        MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm #MySQL服务端程序

        MySQL-shared-5.6.21-1.linux_glibc2.5.x86_64.rpm #MySQL的共享库

        MySQL-test-5.6.21-1.linux_glibc2.5.x86_64.rpm #MySQL的测试组件

检查系统中是否已经存在mysql安装包

rpm -qa | grep -i mysql

删除系统中已存在的安装包

rpm –e **.rpm

安装依赖包顺序

rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm

其他依赖包选择安装

安装报错处理

1.安装mysql-community-common-5.7.17-1.el7.x86_64.rpm报错conflicts with file from package mariadb-libs 

解决办法   yum -y remove mariadb-libs-*

2. rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm 
报错:
warning: mysql-community-server-5.7.19-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
        /usr/bin/perl is needed by mysql-community-server-5.7.19-1.el7.x86_64
        libaio.so.1()(64bit) is needed by mysql-community-server-5.7.19-1.el7.x86_64
        libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-5.7.19-1.el7.x86_64
        libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-5.7.19-1.el7.x86_64
        net-tools is needed by mysql-community-server-5.7.19-1.el7.x86_64
        perl(Getopt::Long) is needed by mysql-community-server-5.7.19-1.el7.x86_64
        perl(strict) is needed by mysql-community-server-5.7.19-1.el7.x86_64

解决办法:

yum -y install perl.x86_64
yum install -y libaio.x86_64
yum -y install net-tools.x86_64

3. rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm 报错

 libsasl2.so.2()(64bit) 被 mysql-community-server-5.7.19-1.el6.x86_64 需要;

解决办法:

方法1:rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm  --force  --nodeps

方法2 :

修改vim /etc/yum.repos.d/mysql-community.repo 源文件

[mysql57-community]

name=MySQL 5.7 Community Server

## baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/   

baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
 

启动mysql服务

/etc/init.d/mysqld start

检查mysql安装是否正常

Mysql –uroot

能够正常启动mysql程序说明安装成功

提示密码错误

使用免密码登陆

方法一:

mysqld_safe --user=mysql --skip-grant-tables --skip-networking & mysql -u root mysql

方法二:

1、 修改mysql配置文件

my.cnf 加入skip-grant-tables

2、 重启mysql服务

/etc/init.d/mysqld restart

设置密码

1、 登陆终端

2、 Use mysql

3、update mysql.user set authentication_string=password('Password!@#123') where user='root' ;

(password(‘***’)):***为设置的root用户密码 

4、 flush privileges; 刷新权限

查看用户远程访问权限

Use mysql;

Select user,host from user;

User

Host

Root

Localhost

表示root用户只能在本机访问

User

Host

Root

%

表示root用户允许在任意地址访问

授权root用户在任意地址访问

update user set host = '%' where user = 'root'; //用户允许从任意地址访问

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //赋予root所有权限

FLUSH PRIVILEGES //刷新权限

远程连接提示10038

查看当前mysql端口

mysql> show global variables like 'port';

修改mysql端口

my.cnf中添加port=3506(3506为修改的端口,mysql默认端口3306)

重启mysql服务

查看当前端口占用

netstat -anp|grep 80

查看防火墙是否放开端口

centos 6

打开防火墙配置文件

Vi /etc/sysconfig/iptables

放开mysql端口

A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

(iptables中存在则不做修改,3306为当期mysql使用端口)

重启防火墙

service iptables restart

centos 7:

开放端口:

firewall-cmd --zone=public --add-port=9200/tcp --permanent
1
关闭端口:

firewall-cmd --permanent --remove-port=9200/tcp
1
查询端口是否开放:

firewall-cmd --query-port=9200/tcp
1
重启:

firewall-cmd --reload
或者
systemctl restart firewalld.service

查看和修改数据库编码

[root@chenguo ~]# mysql

mysql> use mysql;

mysql> select Host,user from user where User='root';

mysql> show variables like 'character%';

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

rows in set (0.01 sec)

设置数据库的编码

1、my.cnf中添加

character-set-server=utf8

collation-server=utf8_general_ci

2、重启mysql服务

Can't start server: Bind on TCP/IP port: Permission denied

原因:selinux防火墙未关闭

解决方案:

vi /etc/selinux/config

SELINUX=disabled

#立即关闭

setenforce 0

查看

getenforce

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值