admin 管理员组

文章数量: 1086019


2024年12月24日发(作者:旅行大模板)

Red Hat Linux下安装及配置MySQL的详细教程

大致思路如下:

1.下载所需的安装包

(Linux下用wget下载,笔者在window下下载的,用XSHELL命令RZ上传到Linux中)

2.安装MySQL

3.创建新用户并授权

安装及配置的详细步骤如下:

第一步:检测系统版本信息

Linux命令: cat /proc/version

Linux version 6.i686 (mockbuild@) (gcc version

4.4.5 20110214 (Red Hat 4.4.5-6) (GCC) ) #1 SMP Wed Nov 9 08:02:18 EST 2011

当前Linux版本为RedHat 4.4.5-6(为内核版本)

Linux命令:cat /etc/issue

Red Hat Enterprise Linux Server release 6.2 (Santiago)

Kernel r on an m

Linux命令: uname -a 或getconf LONG_BIT

Linux omain 6.i686 #1 SMP Wed Nov 9 08:02:18 EST 2011 i686

i686 i386 GNU/Linux

可以看到当前系统为32位的(而64位系统会有x64字符串显示出来)。

第二步:根据Linux系统的环境,下载mysql Community Server

官方下载地址: /downloads/mysql/

可以选择【Linux-Generic】,下载对应的RMP包.

由于当前系统为redhat(64位),所以直接选择 Oracle &Red Hat Linux 4 & 5。

Mysql安装包有很多,作用也不同,大多数情况下只需要安装MySQL-Server和MySQL-Client,其

它包根据需要安装.

32位的下载下面的两个安装包文件:

_

_

(而64位下载下面两个安装包文件:

_glibc2.5.x86_

_glibc2.5.x86_)

第三步: 安装MySQL

安装顺序: 先安装服务器,然后再安装客户端。找到安装包所在位置,直接安装即可。

Linux命令: rpm -_glibc2.5.x86_

Linux命令: rpm -_glibc2.5.x86_

在这一步可能遇到的问题:

1.安装时有可能会提示冲突,说明Linux系统上已经安装了mysql,此时需要找出已安装的

mysql包,将其卸载,具体操作如下:

[root@bogon ~]# yum list | grepmysql(下面如果有列出mysql包,则将其卸载)

[root@bogon ~]# yum remove mysql-libs

2.查看Mysql是否安装成功的几种方法:

[root@bogon ~]# service mysql status 或

[root@bogon ~]# netstat–na | grep 3306 或

[root@bogon ~]# ps–ef | grepmysql(or MySQL)

注:MysQL默认端口为3306,安装启动成功后,可以用命令查看3306端口状态命令: netstat

-nat | grep 3306,或者: netstat–ntlp。

第四步,安装后启动MySQL

在安装成功启动之前,复制/usr/share/mysql/文件到/etc/,为mysql

的初始化配置文件,有很多参数可以在此进行设置。按如下修改配置文件(没有的字段进行

添加即可):

[mysqld]

port = 3306

socket = var/lib/mysql/

character_set_server = gbk

init_connect = ‘set names gbk’

max_connections=1500

启动mysql服务命令: /etc/init.d/mysql start

SUCCESS!

出现如上提示,启动成功(最好先尝试多次启动/停止/etc/init.d/mysql stop服务).

在这一步可能遇到的问题:

1. MySQL启动异常,现象是ERROR! The server quit without updating PID file.原因是mysql的

进程未彻底结束。解决方法如下:

[root@bogon ~]# ps–ef | grepmysql

[root@bogon ~]# kill -9 进程号

2.如果mysql不能成功启动,则var/lib/mysql/文件不存在。因此这时输入mysql–u

root –p进入Mysql时,就会报如下错误:

“Can’t connect to local MySQL server through socket ‘var/lib/mysql/’”。

的最大连接数(默认是105)。如果不增加最大连接数,那么在启动IU服务时,EMC2N

就会报“Mysql too many connections”的错误。

客户端登录:mysql -uroot -p

设置新的最大连接数为1000:mysql> set GLOBAL max_connections=1500;

查看当前最大连接数:mysql> show variables like ‘%connections%’;

退

出客户端:mysql> exit

这个办法治标不治本,重启服务以后最大连接数还是100。这个方法用于紧急扩充最大连接

数用,不是长久之计。

或者修改/etc/这个Mysql的配置文件,在[msyqld]字段下增加,max_connections=1500

字段,也可修改最大连接数,这样就不会每次启动Mysql服务时都要去修改最大连接数啦。

4.安装Mysql成功后默认字符集是latin1。如果未成功设置Mysql数据库的字符集,那么当

IU服务在通过存储过程访问Mysql数据库时就有可能报错。

客户端登录:mysql -uroot -p

查看当前Mysql字符集:mysql> show variables like ‘%charac%’;

设置Mysql数据库的字符集:mysql> set character_set_database=gbk;

退出客户端:mysql> exit

或者修改/etc/这个Mysql的配置文件,在[msyqld]字段下增加

character_set_server = gbk

init_connect = ‘set names gbk’

也可修改Mysql的默认字符集,这样就不会每次启动Mysql服务时都要去修改最大连接数啦。

第五步,进入Mysql操作界面

命令:mysql–uroot–p(回车)

Enter Password:

Welcome to the MySQL monitor. Command end with; or g.

Your MySQL connection id is 34

Server version: 5.6.11 MySQL Community Server (GPL)

Copright (c) 2000,2013,Oracle and/or its rights reserved.

……

MySQL默认是登录密码,使用登录密码可以连接上。

在这一步可能遇到的问题:

“Access denied for user 'root'@'localhost'”的问题。或MYSQL登录错误:mysqladmin:

connect to server at 'localhost' failed。或无法修改密码

用 /etc/init.d/mysql stop停止MySQL服务器,

mysqld_safe --skip-grant-tables &

输入mysql -uroot -p 回车进入

>use mysql;

>update user set password=PASSWORD("newpass")where user="root";

更改密码为newpassord

> flush privileges; 更新权限

> quit 退出

/etc/init.d/mysql restart

mysql -uroot -p新密码进入

由于安装MySQL完后,MySQL会自动提供一个不带密码的root用户,为了安全起见给root

设置密码:

#mysqladmin -u root password 123 (123为密码,也可以写成:'123'或"123") ;

设置密码后登入时就不能直接输入mysql了,必须跟些参数了,如下:

[root@localhost ~]# mysql -u root -p (-u 后跟登入的用户名,-p 提示要密码登入)

Enter password:(输入密码)

修改密码:

[root@localhost ~] #mysqladmin -u root -p password 123456 (password 后跟的是要更新

的新密码)

Enter password:(输入原始密码,回车即可)

第六步,重新设置Mysql密码并添加用户和权限。

增加MySQL用户

格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"

grantselect,insert,update,delete on *.* to user_1@'%' Identified by '123';

grant all on *.* to user_1@'localhost' Identified by '123';

在这一步可能遇到的问题:

1.用户的增加和删除:

以root用户登入,在mysql中有一张表是存储MySQL中所有用户的信息表,所

以可以直接增加删除这个表的记录就可增加和删除用户;

1)加用户(有两种形式):

A.

mysql> grant all on *.* to yushan@"%" identified by "123" ;

mysql>flush privileges; (刷新系统权限表)

(执行完会在表插入一条记录,all表示所有权限(包括增、删、改、查等权限),

*.* 表示所有数据库,yushan为添加的用户名,123为密码,%为匹配的所有主机,上面的信

息都可以指定如grant select,update on db.* to yushan@localhost identified by '123";)

B.直接对添加一条记录

mysql> insert into (Host,User,Password)

values("localhost","yusuhan",password("123"));

mysql>flush privileges;

这样就创建了一个名为:yushan密码为:123 (密码是经过加密的 ) 的用户,不过这样没有

权限因为只添加了三个字段,也可通过grant添加权限:

mysql>grant all on *.* to yushan@localhost identified by '123";

mysql>flush privileges;(刷新系统权限表)

(这种好像有点啰嗦了。直接用grant不久得了)

添加完用户如果要远程登入MySQL,必须跟上主机Ip如下:

[root@localhost ~]# mysql -u yushan -p -h 192.168.59.123

Enter password:(输入密码)

2)删除用户:

mysql>delete from where user ='yushan' ;

mysql>flush privileges; (刷新系统权限表)

其他用户的密码修改与root的一样,在这里无论是添加或是删除操作后必须来个flush

privileges;这样才能起作用特别是删除用户后,如果未执行,被删除的用户还可登入,以上

都是在MySQL root用户下操作,为了MySQL的安全,应该给用户指定相应的权限。

3)查看某数据库有哪些用户

mysql> use mysql;

mysql> select Host,User,Password from user;

2.行MySql5.6操作过程中报错:You must SET PASSWORD before executing this statement解决

方法:

mysql>SET PASSWORD = PASSWORD('123456');

重新设置密码即可。

第七步,在RedHat Linux创建IU的Mysql数据库并同步JCS数据。

具体的振作步骤如下:

(1)打开SQLyog工具。远程连接IU数据库服务器(例如,192.168.1.23,Winows系统)

与即将作为IU数据库服务器的RedHat Linux服务器(例如,192.169.1.117,RedHat Linux系

统)。

(2)选择工具栏上的“高级工具->架构同步工具”,并选择来源与目标。

(3)执行批处理文件同步JCS的数据。

第八步,备份和恢复数据库(此操作对存储过程无效)

在Linux进行数据库的备份或恢复操作之前,进入Mysql的数据存储目录(不需要进入mysql

命令行)。

(1)完整导出导入数据库

完整导入数据库:

mysqldump数据库名 -u root –p>

完整导入数据库:

mysql数据库名–u root –p <

(2)对数据库表结构的操作

导出结构不导出数据:

mysqldump -d 数据库名 -u root -p >

导入结构不导入数据(也可用此方法清空所有的表数据):

mysql数据库名–u root –p <

(3)对数据库表数据的操作

导出数据不导出结构:

mysqldump -t 数据库名 –uroot -p >

导入数据不导入结构:

mysql数据库名–u root –p <

----------------------

(1)修改root账户的密码

msyql>use mysql;

mysql>select host,user,password from user;

mysql>update user password=PASSWORD(‘root’) where user=’root’;

mysql>flush privileges;

mysql>exit;

(2)授予或查看Mysql用户权限

mysql>create database iujc6;

mysql>grant all privileges on iujc6.* to iu@’%’ (identified by PASSWORD(‘123’));

mysql>flush privileges;

mysql>grant all privileges on iujc6.* to iu@’localhost’;

mysql>flush privileges;

查看Mysql用户权限

mysql>show grants for iu@’%’;

mysql>show grants for iu@’localhost’;

(3)Window要下备份及还原数据库的结构:

进入Window下mysql的bin目录,不需要进入mysql命令行内。

备份表结构

远程:mysqldump–h192.168.1.23 –uroot–p iu> d:/

本机:mysqldump–uroot–p iu> d:/

还原表结构

远程:mysql–h192.168.1.23 –uroot–p iu_v1.0.2.2 < d:/

本机:mysql–uroot–p iu_v1.0.2.2

备份表数据

远程:mysqldump–h192.168.1.23 –uroot–p –t iu> d:/

本机:mysqldump–uroot–p –t iu> d:/

----------

另外一种还原数据库的方法:

首先创建文件。

内容:

source

source

source

然后,利用mysql–uroot–p命令进入mysql数据库中,

mysql>use mysql;

mysql>source ;

----------

只备份存储过程:mysqldump–skip-opt -t -d -R –uusername-p dbname>sp_

把存储过程和数据库一起备份:mysqldump–opt -R -uusername -p dbname>

-d: –no-data

-t: –no-create-info

-R: –routines

windows下mysql备份还原,可不用修改来还原视图(已验证)

mysqldump -uroot -p --default-character-set=gbk --opt --extended-insert=false --triggers -R

--hex-blob -x db_name> f:/ ???

mysqldump -uroot -p --default-character-set=gbk --opt --extended-insert=false --triggers –R –x

db_name> d:/


本文标签: 密码 用户 数据库 安装 系统