linux下安装mysql56个人心得.docx
- 文档编号:24369306
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:20
- 大小:543.13KB
linux下安装mysql56个人心得.docx
《linux下安装mysql56个人心得.docx》由会员分享,可在线阅读,更多相关《linux下安装mysql56个人心得.docx(20页珍藏版)》请在冰豆网上搜索。
linux下安装mysql56个人心得
Linux系统上安装mysql
准备工作
从MySQL官网上分别下载mysql服务器端与客户端包。
如:
MySQL-server-5.6.22-1.rhel5.x86_64
MySQL-client-5.6.22-1.rhel5.x86_64
并放到/opt目录下(路径可自行定义)
1.检测系统是否安装MySQL
(1)进入系统后,检测是否安装mysql.
如:
检测是否安装Mysql输入
#rpm-qa|grep-imysql
若已安装过,会出现以下
MySQL-server-5.0.22-0.i386
MySQL-client-5.0.22-0.i386
(2)那么输入以下命令删除它:
#rpm-evMySQL-server-5.0.22-0.i386
#rpm-evMySQL-client-5.0.22-0.i386
注意:
1、若删除的时候,出现删除不成功,出现依赖的包,前提必须删除依赖项。
rpm-evdovecot-1.0.7-7.el5.x86_64
2、重复安装了类包可以采用以下参数:
--allmatches;删除依赖包参数:
--nodeps
rpm-e--allmatches--nodepsA
[root@GJ1-01-mysql~]#find/-namemysql.sock
2.安装MySQL
解压安装包
[root@localhostmysql]#tarxvfMySQL-5.6.22-1.linux_glibc2.5.i386.rpm-bundle.tar
(1)第一步:
安装mysql服务端,输入以下命令
#rpm-ivh/opt/MySQL-server-5.5.15-1.linux2.6.x86_64.rpm
当出现如下:
Preparing... ###########################################[100%]
1:
MySQL-server ###########################################[100%]
。
。
。
。
。
。
(省略显示)
/usr/bin/mysqladmin-urootpassword'new-password'
/usr/bin/mysqladmin-uroot-htest1password'new-password'
。
。
。
。
。
。
(省略显示)
表示MySQL安装完成。
(2)检测mysql3306是否安打开,输入以下命令(如果没有发现则需要重启下mysql:
servicemysqlrestart|stop|start)
#netstat-nat或者#netstat-ntpl;
当出现如下时,表示mysql3306端口打开
ActiveInternetconnections(serversandestablished)
ProtoRecv-QSend-QLocalAddress ForeignAddress State
tcp 0 00.0.0.0:
3306 0.0.0.0:
* LISTEN
上面显示可以看出MySQL服务已经启动。
(3)安装mysql客户端,同理输入以下命令
#rpm-ivh/opt/MySQL-client-5.5.15-1.linux2.6.x86_64.rpm
当出现如下:
表示安装成功
warning:
MySQL-client-5.1.7-0.i386.rpm:
V3DSAsignature:
NOKEY,keyID5072e1f5
Preparing... ###########################################[100%]
1:
MySQL-client ###########################################[100%]
显示安装完毕。
(4)测试连接
遇到的报错:
ERROR1045(28000):
Accessdeniedforuser'root'@'localhost'(usingpassword:
N
O或者YES
方法
(1)第一步mysqld_safe--user=mysql--skip-grant-tables--skip-networki
ng&(跳过授权表进入mysql)
(2)第二步进入mysql:
mysql–urootmysql在修改密码:
updateuserpassword=password(’newpassword’)whereuser=’root’;
ERROR1820(HY000):
YoumustSETPASSWORDbeforeexecutingthisstatement
方法:
SETPASSWORD=PASSWORD('123456');
QueryOK,0rowsaffected(0.03sec)
mysql>flushprivileges;
QueryOK,1rowaffected(0.00sec)
也就是用mysql> SETPASSWORD=PASSWORD('123456');这句话重新设置一次密码!
(*修改root密码)[root@localhost/]#/usr/bin/mysqladmin-urootpassword'xxxxxx';
[root@localhost/]#mysql-uroot–p###
Enterpassword:
xxxxxx
出现mysql>表示登陆成功!
注意:
如果使用空密码无法登陆则需要进入配置文件修改参数
a.修改MySQL的登录设置:
#vi/etc/f
在[mysqld]的段中加上一句:
skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存并且退出vi。
b.重新启动mysqld
#/etc/init.d/mysqldrestart
StoppingMySQL:
[OK]
StartingMySQL:
[OK]
c.登录并修改MySQL的root密码
#/usr/bin/mysql
WelcometotheMySQLmonitor.Commandsendwith;or\g.
YourMySQLconnectionidis3toserverversion:
3.23.56
Type'help;'or'\h'forhelp.Type'\c'toclearthebuffer.
mysql>USEmysql;
Readingtableinformationforcompletionoftableandcolumnnames
Youcanturnoffthisfeaturetogetaquickerstartupwith-A
Databasechanged
mysql>UPDATEuserSETPassword=password('new-password')WHEREUser='root';
QueryOK,0rowsaffected(0.00sec)
Rowsmatched:
2Changed:
0Warnings:
0
mysql>flushprivileges;
QueryOK,0rowsaffected(0.01sec)
mysql>quit
Bye
d.将MySQL的登录设置修改回来
#vi/etc/f
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。
e.重新启动mysqld
#/etc/init.d/mysqldrestart
StoppingMySQL:
[OK]
StartingMySQL:
[OK]
Workforfun,Liveforlove!
f、登录成功后必须先修改密码,如下:
mysql>SETPASSWORDFOR'root'@'localhost'=PASSWORD('newpwd');
对mysql用户设置远处访问权限
方法1、改表法:
登陆mysql后,更改“mysql”数据库里的“user”表里的“host”项,将“localhost”改“%”
mysql>usemysql;
mysql>updateusersethost='%'whereuser='root'andhost=’localhost’;
mysql>selecthost,userfromuser;
mysql>FLUSHPRIVILEGES;
方法2、授权法:
假设允许用户username通过密码password从远程连接到mysql服务器
mysql>GRANTALLPRIVILEGESON*.*TOusername@'%'IDENTIFIEDBY'password'WITHGRANTOPTION;
mysql>FLUSHPRIVILEGES;
增加MySQL用户
格式:
grantselecton 数据库.*to 用户名@登录主机 identifiedby"密码"
例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。
首先用以root用户连入MySQL,然后键入以下命令:
mysql>grantselect,insert,update,deleteon*.*touser_1@"%"Identifiedby"123";
例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。
例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过MYSQL主机来操作aaa库。
mysql>grantselect,insert,update,deleteonaaa.*touser_2@localhostidentifiedby"123";
用新增的用户如果登录不了MySQL,在登录时用如下命令:
mysql-uuser_1-p -h192.168.113.50 (-h后跟的是要登录主机的ip地址)
例3、
用户root用户登陆
添加一个本地用户,名为username密码为password
GRANTALLPRIVILEGESON*.*TOIDENTIFIEDBY'password'WITHGRANTOPTION;
添加一个远程用户,名为username密码为password
GRANTALLPRIVILEGESON*.*TO"IDENTIFIEDBY'password'WITHGRANTOPTION;
mysql>FLUSHPRIVILEGES;
好了,可以退出重新登录,此时就得用你设置的密码了
.取消root远程登录权限
mysql>revokeallPRIVILEGESon*.*fromroot@'%'identifiedby'newpwd';
注意:
如果出现mysqlERROR1045(28000):
Accessdeniedforuser‘root’@'%’(usingpassword:
YES)
解决:
[root@localhostmysql]# /usr/local/mysql/bin/mysqld_safe--user=mysql--skip-grant-tables--skip-networking&
[root@localhostmysql]#/usr/local/mysql/bin/mysql-urootmysql
Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.
mysql> updateusersetpassword=PASSWORD(123456)whereuser='root';
QueryOK,3rowsaffected(0.00sec)
Rowsmatched:
3 Changed:
3 Warnings:
0
mysql> flushprivileges;
QueryOK,0rowsaffected(0.00sec)
[root@localhostmysql]# /usr/local/mysql/bin/mysql-uroot-p
Enterpassword:
******
(6)修改密码
1、命令
usr/bin/mysqladmin-urootpassword'new-password'
格式:
mysqladmin-u用户名-p旧密码password新密码
2、例子
例1:
给root加个密码123456。
键入以下命令:
[root@test1local]#/usr/bin/mysqladmin-urootpassword123456
注:
因为开始时root没有密码,所以-p旧密码一项就可以省略了。
3、用修改后的密码登录
[root@test1local]#mysql-uroot-p
Enterpassword:
(输入修改后的密码123456)
(7)安装目录
数据库目录:
/var/lib/mysql/(安装完后启动失败,可以尝试shell>chown-Rmysql.mysql/var/lib/mysql)
配置文件:
/usr/share/mysql(mysql.server命令及配置文件)
相关命令:
/usr/bin(mysqladmin、mysqldump等命令)(*mysql的一种安全启动方式:
/usr/bin/mysqld_safe--user=root&)
启动脚本:
/etc/rc.d/init.d/
(8)查看修改字符编码
查看字符编码:
mysql>showvariableslike'character\_set\_%';
mysql>showvariableslike'collation_%';
停止mysql服务
将目录/usr/share/mysql下的文件my-f拷贝到/etc/下并改名为f
打开f在[client]和[mysqld]下面均加上default-character-set=utf8,并保存
*mysql5.5在[mysqld]下面添加参数character-set-server=utf8
3.配置MySQL
(1)上面都是安装完成了,但都是默认的,还需要很多配置。
先了解下默认安装位置及作用
1.数据库目录
/var/lib/mysql/
2、配置文件
/usr/share/mysql(mysql.server命令及配置文件)
3、相关命令
/usr/bin(mysqladminmysqldump等命令)
4、启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
如:
/etc/rc.d/init.d/mysqlstart/restart/stop/status
(2)由于MySQL数据库目录占用磁盘比较大,所以我在/根目录下建了个个目录data,命令如下:
#cd/
#mkdirdata
(3)把数据库移动到data目录中去。
输入以下命令:
#mv/var/lib/mysql/data
最后,进入data目录就会看到有一个mysql文件夹。
拷贝完后还需修改/etc/rc.d/init.d/mysql的datadir目录值,修改结果如:
basedir=
datadir=/data/mysql
(4)拷贝配置文件到/etc目录下,并命名为f(必须名为f)
#cp/usr/share/mysql/my-f/etc/f
这儿要注意:
/usr/share/mysql/下有好几个结尾为cnf的文件,它们的作用分别是:
1.my-f是为了小型数据库而设计的。
不应该把这个模型用于含有一些常用项目的数据库。
2.·my-f是为中等规模的数据库而设计的。
如果你正在企业中使用RHEL,可能会比这个操作系统的最小RAM需求(256MB)明显多得多的物理内存。
由此可见,如果有那么多RAM内存可以使用,自然可以在同一台机器上运行其它服务。
3·my-f是为专用于一个SQL数据库的计算机而设计的。
由于它可以为该数据库使用多达512MB的内存,所以在这种类型的系统上将需要至少1GB的RAM,以便它能够同时处理操作系统与数据库应用程序。
4·my-f是为企业中的数据库而设计的。
这样的数据库要求专用服务器和1GB或1GB以上的RAM。
这些选择高度依赖于内存的数量、计算机的运算速度、数据库的细节大小、访问数据库的用户数量以及在数据库中装入并访问数据的用户数量。
随着数据库和用户的不断增加,数据库的性能可能会发生变化。
(5)最后配置/etc/f文件的datadir,和mysql.sock路径以及默认编码utf-8.
红色字体标示为修改后的。
[client]
password=123456
port=3306
socket=/data/mysql/mysql.sock
default-character-set=utf8
#Herefollowsentriesforsomespecificprograms
#TheMySQLserver
[mysqld]
port=3306
socket=/data/mysql/mysql.sock
skip-external-locking
key_buffer_size=16M
max_allowed_packet=1M
table_open_cache=64
sort_buffer_size=512K
net_buffer_length=8K
read_buffer_size=256K
read_rnd_buffer_size=512K
myisam_sort_buffer_size=8M
character_set_server=utf8
collation-server=utf8_general_ci
lower_case_table_names=1
character_set_client=utf8
(注意linux下mysql安装完后是默认:
区分表名的大小写,不区分列名的大小写;lower_case_table_names=00:
区分大小写,1:
不区分大小写)
max_connections=1000(设置最大连接数,默认为151,MySQL服务器允许的最大连接数16384;)
[mysql]
default-character-set=utf8
no-auto-rehash
(6)进入/usr/bin目录下重启mysql服务(初始化MySQL)
初始化MySQL
[root@localhostmysql]#/usr/bin/mysql_install_db
[root@localhostmysql]#cd/usr/bin/mysqlrestart
(7)登录mysql
#cd/usr/bin/mysql-uroot-p
Enterpassword:
(直接回车,因为第一次为空密码)
(8)登录成功后,修改密码
进入>mysql环境下,
输入:
>mysql>showdatabases;
+--------------------+
|Database|
+--------------------+
|information_schema|
|mysql|
|performance_schema|
|test|
+--------------------+
4rowsinset(0.00sec)
>mysql>usemysql
Databasechanged
mysql>showtables;
+---------------------------+
|Tables_in_mysql|
+---------------------------+
|columns_priv|
|db|
|event|
|func|
|general_log|
|help_category|
|help_keyword|
|help_relation|
|help_topic|
|host|
|ndb_binlog_index|
|plugin|
|proc|
|procs_priv|
|proxies_priv|
|servers|
|slow_log|
|tables_priv|
|time_zone|
|time_zone_leap_second|
|time_zone_name|
|time_zone_transition|
|time_zone_transition_type|
|user|
+---------------------------+
24rowsinset(0.00sec)
>mysql>updateusersetpassword=password('123456')whereuser='root';
修改root密码为123456
最后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 安装 mysql56 个人 心得