0

0

Linux环境编译安装Mysql以及PHP中文乱码解决

php中文网

php中文网

发布时间:2016-06-06 19:54:36

|

1053人浏览过

|

来源于php中文网

原创

mysql安装 5.6以后可能会收费,所以选择5.1 以下从台湾中山大学镜像下载 要安装C编译环境 # yum install gcc- c 下载解压 # wget http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.73.tar.gz # tar zxvf mysql-5.1.73.tar.gz # cd mysql-5.1.73

mysql安装  5.6以后可能会收费,所以选择5.1

以下从台湾中山大学镜像下载


要安装C++编译环境

# yum install gcc-c++


下载解压

# wget http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.73.tar.gz
# tar zxvf mysql-5.1.73.tar.gz
# cd mysql-5.1.73


创建用户

运行MySQL数据库的系统用户、组
/sbin/nologin只是不允许系统login
# useradd mysql -M -s /sbin/nologin/mysql


预配置编译
# ./configure --prefix=/usr/local/mysql --with-charset=gbk --with-collation=gbk_chinese_ci --with-extra-charsets=all

编译安装
# make && make install

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

如果报错 mysql: Character set 'gbk' is not a compiled character set and is not specified in the '/usr/local/mysql/share/mysql/charsets/Index.xml' file

就是因为configure的时候没有指定charset可以按如下这样这样

# ./configure --prefix=/usr/local/mysql --with-charset=gbk --with-collation=gbk_chinese_ci
# ./configure --prefix=/usr/local/mysql --with-charset=gbk --with-collation=gbk_chinese_ci --with-extra-charsets=all
或者#make WITH_CHARSET=gbk BUILD_STATIC=yes install
或者#make WITH_CHARSET=gbk WITH_XCHARSET=all WITH_COLLATION=gbk_chinese_ci BUILD_STATIC=yes install

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

立即学习PHP免费学习笔记(深入)”;

建立配置文件
在源码包目录中的support-files文件夹下,提供了多个MySQL服务器的配置文件样例文件,
分别适用于不同负载的数据库服务器,一般选择my-medium.cnf文件即可,适用于中等负载的数据库。
# cp support-files/my-medium.cnf /etc/my.cnf

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

立即学习PHP免费学习笔记(深入)”;

初始化数据库
以mysql用户的身份执行mysql_install_db脚本,初始化数据库。修改相关目录所有权,以便mysql用户可以读写数据库。
# /usr/local/mysql/bin/mysql_install_db --user=mysql

Linux环境编译安装Mysql以及PHP中文乱码解决

系统已经提示你设置mysql账号以及密码的方式:

To do so, start the server, then issue the following commands:

/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

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

立即学习PHP免费学习笔记(深入)”;

设置权限

# chown -R root:mysql /usr/local/mysql
# chown -R root:mysql /usr/local/mysql/var

/usr/local/mysql下
# chown -R mysql:mysql *

------------------------------------------------------------------------------
调整lib库路径
由于MySQL安装到了非标准的路径中,所以需要将MySQL的库文件路径加入到系统库文件路径中去。
# echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
# ldconfig
------------------------------------------------------------------------------
将mysqld添加为系统服务

在MySQL源码包的suppory-files文件夹下,mysql.server文件可以用来作为mysqld服务的启动脚本。
# cp /usr/mysql-5.1.73/support-files/mysql.server /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig mysqld on
------------------------------------------------------------------------------
启动
# /etc/init.d/mysqld start
或者如果已经加入系统服务
# service mysqld start
或者
# /usr/local/mysql/bin/mysqld_safe --user=mysql &

启动报错:
启动mysql 报错,,Starting MySQL.Manager of pid-file quit without updating fi[失败]

出现这个问题,主要是,因为本服务器原来已经安装过mysql 应该是没有卸载干净,所以会报错.

第一,先删除rm -rf /var/lib/mysql,然后重新初始化usr/local/mysql/bin/mysql_install_db --user=mysql

第二, 看是否已经运行数据库进程了,ps -a|grep mysql
# service mysqld start
Starting MySQL.Manager of pid-file quit without updating file. [失败]
# ps -a|grep mysql
# kill -9 PID
#  ps -a|grep mysql
#  kill -9 PID
# service mysqld start
第三 权限问题
/usr/local/mysql下
# chown -R mysql:mysql *

ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

其实网上大家问的最多的都是整个问题,说什么链接不到mysqld.sock,其实大家不妨看看mysql的错误日志就明白怎么回事,我这里的错误日志是在

/var/lib/mysql/*.err 你会发现mysql只所以不能启动,是因为/var/lib/mysql的权限不允许mysql服务访问,英文mysql默认是调用mysql用户来启动服务的,好了,既然知道是什么原因找到不能启动,那就简单了。我们只要

chown -R mysql:mysql /var/lib/mysql 就行,如果还是启动不了,再慢慢调试权限,反正一般启动不了都是权限的问题。

如果大家还是不能启动不了的话,那就用我的比较繁琐的权限的设置,反正我每次都是这么做的,一般不会有问题,见下:

chown -R root /usr/local/mysql
chgrp -R mysql /usr/local/mysql
chown -R root /usr/local/mysql/bin
chgrp -R mysql /usr/local/mysql/bin
chgrp -R mysql /var/lib/mysql
chmod 777 /var/lib/mysql
chown -R root /var/lib/mysql/mysql
chgrp -R mysql /var/lib/mysql/mysql
chmod 777 /var/lib/mysql/mysql
chown -R root /var/lib/mysql/mysql/*
chgrp -R mysql /var/lib/mysql/mysql/*
chmod 777 /var/lib/mysql/mysql/*
chmod 777 /usr/local/mysql/lib/mysql/libmysqlclient.a


------------------------------------------------------------------------------
查看状态
# /etc/rc.d/init.d/mysqld status


停止
# /etc/rc.d/init.d/mysqld stop
或者
# /usr/bin/mysqladmin -u root -p shutdown
------------------------------------------------------------------------------

将mysql加入到系统变量path中
将/usr/local/mysql/bin 加入到path中,这样在shell里就可以运行mysql相关的命令。
# vi /etc/profile
加入
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH

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

立即学习PHP免费学习笔记(深入)”;

登陆mysql
如果之前增加过环境变量直接
# mysql -u root -p
否则全路径
# /usr/local/mysql/bin/mysql -u root -p
Enter password: 密码    默认是空密码
显示所有的数据库
mysql> show databases;
选择你所创建的数据库
mysql> USE 数据库名
显示所选数据库的所有表
mysql> show tables;
退出
mysql> exit;或者mysql> quit;


Linux环境编译安装Mysql以及PHP中文乱码解决

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

立即学习PHP免费学习笔记(深入)”;

修改root账号为本机外都可以访问
mysql>use mysql;

添加用户
mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";

改密码

mysql>update user set Password = password('123456') where User='root';
mysql>flush privileges;
mysql>exit;

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

立即学习PHP免费学习笔记(深入)”;

Navicat连接mysql

Navicat Premium和NavicatMySQL都可以

Navicat 连接错误:
Mysql:is not allowed to connect to this MySQL server
如果你想连接你的mysql的时候发生这个错误:

ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server
解决方法:
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
mysql>flush privileges;


如果前面没有做修改root的密码或者你自己设置为空,那么要用空密码连接。切记,不能用之前设置的root12345那个用户名密码,那个默认只能本机访问

Linux环境编译安装Mysql以及PHP中文乱码解决

Linux环境编译安装Mysql以及PHP中文乱码解决

mysql这个数据库的数据表user,可以看到有好几个root账号,对应本机local和外机%

mysql是系统库不能删

Linux环境编译安装Mysql以及PHP中文乱码解决

图形化的界面还是比在命令行快多了。


Navicat for mysql中文保存出现乱码的解决办法

1.右键数据库里链接,选择“链接属性”

2.切换到“高级”选项卡下 把“使用mysql字符集”前面的“勾选”去掉

如果不这样设置就会出现输入中文,保存就是“???”

Linux环境编译安装Mysql以及PHP中文乱码解决

Linux环境编译安装Mysql以及PHP中文乱码解决

Linux环境编译安装Mysql以及PHP中文乱码解决

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

立即学习PHP免费学习笔记(深入)”;

PHP连接mysql

中文不乱码




 
PHP输出表格


输出:
"; // 循环取出记录 while ($row=mysql_fetch_row($result)) { echo ""; for ($i=0; $i".$row[$i].""; } echo ""; } echo ""; // 释放资源 mysql_free_result($result); // 关闭连接 mysql_close($conn); ?>
Linux环境编译安装Mysql以及PHP中文乱码解决

mysql示例employees数据库

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


参考:mysql问题解决
linux下安装mysql
MySQL数据库的安装与启动
mysqldump: Character set 'gbk' is not a compiled character set
Mysql:is not allowed to connect to this MySQL server

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 5.9万人学习

Git 教程
Git 教程

共21课时 | 2.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号