yum install mysql mysql-server mysql-devel
由于我是使用yum方式安装的mysql,所以默认情况下是没有[client]节点和[mysql]节点的。这两行需要手动添加进去。[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 ~
就可以显示数据库状态信息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文
我这里已经修改成了utf8的编码了,如果不是请在mysql总执行以下命令[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的了,重启service后OK!use databaseName;
alter database databaseName character set utf8
顺便说一下windows平台下的配置吧
我下载的是mysql5.5的压缩包,解压到D盘根目录
因此MYSQL的目录就是D:\mysql
接下来要写配置文件了,在mysql目录下拷贝my-small.ini到C:\WINDOWS下面,然后在将my-small.ini 重命名为my.ini
做出如下更改

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(mysqladmin、mysqldump等命令)(*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位置,修改内容如下
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/