centOS安装mysql---glibc方式

写在前面:

   首先,centos是自己集成mysql的。但是我要用的服务器人家没给装。

   其次,centos是可以yum安装mysql的,我很高兴而且轻松的用yum把mysql安装上了。但是,运行的时候很沮丧。yum安装的mysql,当再装SQLAlchemy的时候,报了满屏的错误。我看着满屏的各种错无从下手。本来mysql就不熟。

   最后,只好去mysql的网站,down下来源码包,一点一点的安装下来。整整费了我一天。下面我把这的过程记录下来,以后用就方便了。

 

下载mysql:

http://downloads.mysql.com/archives.php

选择一个mysql的版本,之后一定要看好,下glibc的。如:mysql-5.0.90-linux-i686-glibc23.tar.gz

本例中下载到了/media目录下,这个不是好习惯...

 

▲安装mysql:

下面是linux命令

:$ sudo groupadd mysql
:$ sudo useradd -g mysql mysql
:$ cd /usr/local
:$ tar zvxf /media/mysql-5.0.90-linux-i686-glibc23.tar.gz  
:$ mv mysql-5.0.90-linux-i686-glibc23 mysql   
:$ cd mysql
:$ sudo chown -R mysql .
:$ sudo chgrp -R mysql .
:$ scripts/mysql_install_db --user=mysql  --basedir=/usr/local/mysql
:& cd ..
:$ sudo chown -R root mysql .
:$ cd mysql
:$ sudo chown -R mysql data
:$ bin/mysqld_safe --basedir=/usr/local/mysql --user=mysql &

 

至此,mysql安装成功。

因为在运行状态,我没有ctrl-c,只好再开一个ssh窗口...

 

▲为mysql的root用户添加密码

下面是linux命令

进入mysql后:

其实是设置了root的localhost的密码为chang
显示执行成功,然后exit退出mysql。

之后,再次登录mysql,这次要用密码了:

输入密码chang之后,可以正常登录,如下:

Welcome to the MySQL monitor.  Commands end with ; or /g.
Your MySQL connection id is 1
Server version: 5.0.90 MySQL Community Server (GPL)

Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.

 

查看一下用户信息:

结果如下:

+------+-----------+----------+
| user | host      | password |
+------+-----------+----------+
| root | localhost |  *F05D019BA3BEC01CA9FBD4141E4EA57A28EF3EDF  |   ← (root密码为chang)
| root | linux        |            |   ← (root密码为空)
| root | 127.0.0.1 |           |   ← (root密码为空)
|        | localhost  |           |
+------+-----------+----------+

分别更改它们的密码:

再次查看用户信息会发现已经更改过来。

然后退出mysql。

 

▲把mysql做成服务

启动mysql服务

这时候就可以重启机器试试了
重启后再登陆mysql,发现可以登陆。服务制作成功!

 

▲配置mysql

 

(注释:如果没有自动生成my.cnf文件,那么:安装完的mysql包下有个support-files文件夹,其中有my-huge.cnf等,将my-huge copy一份,改名为my.cnf,将其适当地修改(当然是根据你的数据库配置)然后copy至/etc/my.cnf)

打开my.cnf后

找到[client] 添加:
default-character-set = utf8      # 默认字符集为utf8

找到[mysqld] 添加:
default-character-set = utf8       #默认字符集为utf8
init_connect = 'SET NAMES utf8' #设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行

 

修改好后,重新启动即可.
我这里是重启了mysql的服务:


(有一次找不到sock,这样重启两次服务之后居然可以了!!!汗。)

 

之后进入mysql,查一下是否更改了字符集:

出现下面的画面:

+--------------------------+----------------------------------------+
| Variable_name            | Value                                  |
+--------------------------+----------------------------------------+
| character_set_client     | utf8                                   |
| character_set_connection | 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/local/mysql/share/mysql/charsets/ |
+--------------------------+----------------------------------------+

好,数据库语言完毕。

 

▲打开mysql的远程访问
mysql默认是不允许远程访问的。
用密码登陆mysql,可以正常登陆,但是换台机器用工具连,就报错:
ERROR 1130: Host 192.168.1.6 is not allowed to connect to this MySQL server

 

方法: 改表法。mysql默认是不允许远程访问的,只能在localhost访问。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改成”%”

mysql -u root -p
Enter password: chang
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';  //可能会报错
mysql>flush privileges;
mysql>select host,user from user where user='root';
  

执行完上面的,就可以远程连接了!

注释:

update user set host = '%' where user = 'root'; //这个命令执行错误时,可能会报错:
ERROR 1062 (23000): Duplicate entry '%-root' for key 1;
解决方法:
1,不用管它。呵呵。
2,改成这样执行
update user set host='%' where user='root' and host='localhost';
也就是把localhost改成了所有主机。

 

 ---------------------------------------------------
之后运行app程序,报错:
ImportError: libmysqlclient_r.so.15: cannot open shared object file: No such file or directory

解决办法是把/usr/local/mysql/lib下的
libmysqlclient_r.so.15
拷贝到/usr/lib解决。

 

至此,mysql安装配置完毕!

 

 

 ================= 我是华丽的分割线 ========================

----------------------------------------------------
■附注:
附注1: 重启和关闭mysql服务
重启mysql服务
:$ sudo /etc/init.d/mysql restart
关闭mysql服务
:$ sudo /etc/init.d/mysql stop
----------------------------------------------------
附注2: 非服务状态下,启动和停止mysql
启动mysql
代码:
:& cd /usr/local/mysql
:& bin/mysqld_safe --basedir=/usr/local/mysql --user=mysql &

停止mysql
代码:
:& cd /usr/local/mysql
:$ bin/mysqladmin -uroot -ppassw0rd shutdown

----------------------------------------------------
附注3: mysql命令行中文显示?号
mysql> set names utf8;

---------------------------------------------------
附注4: mysql的数据库存放路径
/var/lib/mysql

---------------------------------------------------
附注5: 从mysql中导出和导入数据
mysqldump 数据库名 > 文件名 #导出数据库
mysqladmin create 数据库名 #建立数据库
mysql 数据库名 < 文件名 #导入数据库

---------------------------------------------------
附注6: 修改mysql的root口令
sudo mysqladmin -u root -p password '你的新密码'

或者:括号里是新密码
use mysql;
update user set Password=password('chang') where User='root';
flush privileges;

---------------------------------------------------
附注7: 忘了mysql的root口令怎么办
sudo /etc/init.d/mysql stop
sudo mysqld_safe --skip-grant-tables &
sudo mysqladmin -u user password 'newpassword
sudo mysqladmin flush-privileges

---------------------------------------------------
附注8: 输入要登录的mysql主机
./mysql -u root -h 127.0.0.1 -p

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值