在安装mysql 时,开始3306,输入 etcrc.dinit.diptables: 没有那个 文件或目录

在安装mysql 时,开始3306,输入 etcrc.dinit.diptables: 没有那个 文件或目录,第1张

安装完的MySQL的默认字符集为 latin1 ,为了要将其字符集改为用户所需要的(比如utf8),就必须改其相关的配置文件;由于linux下MySQL的默认安装目录分布在不同的文件下;不像windows一样放在同一目录下,只需修改其中的myini文件,重起后就生效了;所以先来看看linux下MySQL的数据库文件、配置文件和命令文件分别在不同的目录 :
1、数据库目录,其所创建的数据库文件都在该目录下
/var/lib/mysql/
2、配置文件 (mysqlserver命令及配置文件所在地)
/usr/share/mysql
3、相关命令(如mysql mysqladmin等)
/usr/bin
4、启动脚本(如mysql启动命令)
/etc/rcd/initd/
查看默认字符集
#mysql -u root - p
#(输入密码)
mysql> show variables like 'character_set%' ;//或者是status
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
修改字符集 :
1查找/etc目录下是否有mycnf文件;
#ls -l | grep mycnf (在/etc下查找是否有mycnf文件存在)
2如果没有就要从/usr/share/mysql,拷贝一个到/etc 下,在/usr/share/mysql目录下有五个后缀为cnf的文件,分别是 my-hugecnf my-innodb-heavy-4Gcnf my-largecnf my-mediumcnf my-smallcnf ;从中随便拷贝一个到/etc目录下并将其改为mycnf文件,选择的是my-mediumcnf :
#cp /usr/share/mysql/my-mediumcnf /etc/mycnf
3修改mycnf文件,在该文件中的三个地方加上 default-character-set=utf8([client] [mysqld] [mysql])
#vi /etc/mycnf
修改如下:(红色为添加部分)
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysqlsock
default-character-set=utf8
[mysqld]
port = 3306
socket = /var/lib/mysql/mysqlsock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
default-character-set=utf8
init_connect='SET NAMES utf8' //此行可不加
[mysql]
no-auto-rehash
default-character-set=utf8
保存退出;
4重起MySQL服务器,使其设置的内容生效
#/etc/initd/mysql restart
5 重新登入mysql;
# mysql -u root - p
#(输入密码)
mysql> show variables like 'character_set%' ;
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |(都生成了utf8,成功了。)
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
mysql启动和停止 *** 作 :
可以通过 #/etc/initd/mysql [start | stop | restart](实现启动,停止,重启)
也可以通过 #service mysql [start | stop | restart](实现启动,停止,重启)

另外:如果在修改字符集前,尝试在数据库中插入中文,那么当修改了字符集后,在所插入中文的数据库中(在别的数据库中可能没问题),
通过show variables like 'character_set%'查询的结果可如下:
+--------------------------+----------------------------+
| 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 | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
如上图,character_set_database仍然会为latin1,采取的办法是先导出该数据库中数据,如果数据不重要,则可drop此数据库,
然后再重新create一个数据库。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10943664.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存