linux基础之mysql安装

本文介绍在Linux环境下使用yum命令快速安装MySQL的过程,并详细说明如何配置MySQL以支持UTF-8编码,包括修改my.cnf文件的具体步骤。此外,还提供了Windows平台下的安装与配置指导。

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

很悲剧,我整了好几天都没有安装成功,最后在 http://linuxers.org/howto/how-install-mysql-server-fedora 这里的一句yum方式就搞定了。

yum install mysql mysql-server mysql-devel

先这样吧,等我学会了用rpm方式或者源码安装的话再重写吧
linux下的mysql也是需要重新配置字符编码的
编辑/etc/my.cnf文件。
该文件中可以配置其字符编码

[root@yalong etc]# vim my.cnf [client] port=3306 default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] # Settings user and group are ignored when systemd is used. # If you need to run mysqld under different user or group, # customize your systemd unit file for mysqld according to the # instructions in http://fedoraproject.org/wiki/Systemd datadir=/var/lib/mysql character_set_server=utf8 socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid ~

由于我是使用yum方式安装的mysql,所以默认情况下是没有[client]节点和[mysql]节点的。这两行需要手动添加进去。
还要在mysqld节点下添加配置信息,因为我这里是mysql5.5的版本,因此这里就不再是default-character-set了,而是character_set_server,这里需要注意下。
修改完成之后再在mysql中执行

status

就可以显示数据库状态信息

mysql> status -------------- mysql Ver 14.14 Distrib 5.5.19, for Linux (x86_64) using readline 5.1 Connection id: 4 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.5.19 MySQL Community Server (GPL) Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /var/lib/mysql/mysql.sock Uptime: 5 min 39 sec Threads: 1 Questions: 20 Slow queries: 0 Opens: 34 Flush tables: 1 Open tables: 27 Queries per second avg: 0.058 -------------- mysql>

可以看出,现在这个mysql服务器已经是utf-8编码的了。

如果编码问题还是没有解决,那么再查看一下数据库的编码是否和mysql配置的相同。

进入mysql数据库文件的目录。查看指定数据库的目录中db.opt文

[root@yalong db01_hiber_mapping]# cd /var/lib/mysql/ [root@yalong mysql]# ls db01_hiber_mapping ibdata1 ib_logfile0 ib_logfile1 mysql mysql.sock performance_schema test [root@yalong mysql]# cd db01_hiber_mapping/ [root@yalong db01_hiber_mapping]# ls db.opt tb_contract.frm tb_contract_modify.frm tb_contract_type.frm [root@yalong db01_hiber_mapping]# cat db.opt default-character-set=utf8 default-collation=utf8_general_ci [root@yalong db01_hiber_mapping]#

我这里已经修改成了utf8的编码了,如果不是请在mysql总执行以下命令

use databaseName;

alter database databaseName character set utf8

执行之后就可以将该数据库改为utf8的了,重启service后OK!



顺便说一下windows平台下的配置吧

我下载的是mysql5.5的压缩包,解压到D盘根目录

因此MYSQL的目录就是D:\mysql

接下来要写配置文件了,在mysql目录下拷贝my-small.ini到C:\WINDOWS下面,然后在将my-small.ini 重命名为my.ini

做出如下更改

linux基础之mysql安装 - Yalong - Yalong
需要注意的是那个配置字符集的character_set_server=utf8,这个是mysql5.5的变量名称。
 
然后在cmd下进入到mysql的bin目录中执行

mysqld --install

将其注册为windows服务
然后使用

net start mysql

就可以成功启动了
 
mysql默认安装后root是没有密码的,因此可以直接输入mysql命令进行登录,当我们需要添加密码的时候可以直接修改其user表

mysql> update user set password=PASSWORD("java") where user='root';

mysql> flush privileges;

mysql> quit

再次登录就需要密码了
在丢失root密码的时候,可以这样

 mysqld_safe --skip-grant-tables&   mysql -u root mysql   mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';   mysql> FLUSH PRIVILEGES;

  


 如果重新安装mysql的时候必须将/var/lib/mysql下的数据也一同删除,否则重新安装后进入数据库中就只会出现

infomation_schema库,或者只出现infomation_schema和test库

mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | test               | +--------------------+

 

下面是其他地方摘过来的内容

 

1、准备安装程序(官方网站下载)

服务端:MySQL-server-community-5.1.44-1.rhel4.i386.rpm

客户端:MySQL-client-community-5.1.44-1.rhel4.i386.rpm

2、安装(打印信息略)

[root@localhost /]#rpm -ivm MySQL-server-community-5.1.44-1.rhel4.i386.rpm;

[root@localhost /]#rpm -ivm MySQL-client-community-5.1.44-1.rhel4.i386.rpm;

3、查看安装是否成功

[root@localhost /]#netstat -ntpl;

显示3306端口开放表示服务安装成功

4、测试连接

[root@localhost /]#mysql

出现mysql>表示登陆成功

5、对mysql用户设置远程访问权限

方法1、改表法:登陆mysql后,更改“mysql”数据库里的“user”表里的“host”项,将“localhost”“%”

mysql>use mysql;

mysql>update user set host ='%' where user ='root';

mysql>select host,user from user;

mysql>FLUSH PRIVILEGES

方法2、授权法:假设允许用户username通过密码password从远程连接到mysql服务器

mysql>GRANT ALL PRIVILEGES ON *.* TO username@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

mysql>FLUSH PRIVILEGES;

6、安装目录结构

数据库目录:/var/lib/mysql/

配置文件:/usr/share/mysql(mysql.server命令及配置文件)

相关命令:/usr/bin(mysqladminmysqldump等命令)(*mysql的一种安全启动方式:/usr/bin/mysqld_safe  --user=root &)

启动脚本:/etc/rc.d/init.d/

7、数据库目录转移(未实验过)

在根目录下新建文件夹

[root@localhost /]# mkdir mysqldata

停止MYSQL服务器 service mysql stop

复制/var/lib/mysql下所有文件到/mysqldata

查看原数据库文件夹下各文件权限默认为mysql

更改/mysqldata下各文件权限

[root@localhost /]# chgrp -R mysql ./mysqldata && chown -R mysql ./mysqldata

检查权限 [root@localhost /]# ls -l

配置my.cnf文件

复制并更改文件到/etc目录下

[root@localhost mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

修改my.cnf

#The MySQL server

[client]

#password       = your_password

port            = 3306

#socket               = /var/lib/mysql/mysql.sock

socket                  =/mysqldata/mysql.sock  --增加此行,并配置数据库目录

[mysqld]

port            = 3306

#socket       = /var/lib/mysql/mysql.sock

socket         =/mysqldata/mysql.sock   --增加此行,并配置数据库目录

修改启动文件

修改/etc/rc.d/init.d/mysql

找到datadir位置,修改内容如下

#Set some defaults

pid_file=

server_pid_file=

use_mysqld_safe=1

user=mysql

if test -z "$basedir"

then

basedir=/

bindir=/usr/bin

if test -z "$datadir"

then

#datadir=/var/lib/mysql --修改前内容

datadir=/mysqldata --修改后内容

fi

sbindir=/usr/sbin

8、停止/启动mysql服务

[root@localhost /]#service mysql stop;

[root@localhost /]#service mysql start;

9、修改字符编码

查看字符编码:

[root@localhost /]#show variables like 'character\_set\_%';

[root@localhost /]#show variables like 'collation_%';

停止mysql服务

将目录/usr/share/mysql下的文件my-medium.cnf拷贝到/etc/下并改名为my.cnf

打开my.cnf[client][mysqld]下面均加上default-character-set=utf8,并保存

重启mysql服务

 

url:http://liuyalong.blog.163.com/blog/static/189932370201202261814840/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值