写在前面:

首先,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命令

  1. :$ sudo groupadd mysql
  2. :$ sudo useradd -g mysql mysql
  3. :$ cd /usr/local
  4. :$ tar zvxf /media/mysql-5.0.90-linux-i686-glibc23.tar.gz
  1. :$ mv mysql-5.0.90-linux-i686-glibc23 mysql
  1. :$ cd mysql
  2. :$ sudo chown -R mysql .
  3. :$ sudo chgrp -R mysql .
  4. :$ scripts/mysql_install_db --user=mysql  --basedir=/usr/local/mysql
  5. :& cd ..
  6. :$ sudo chown -R root mysql .
  7. :$ cd mysql
  8. :$ sudo chown -R mysql data
  9. :$ bin/mysqld_safe --basedir=/usr/local/mysql --user=mysql &

至此,mysql安装成功。

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

▲为mysql的root用户添加密码

下面是linux命令

  1. cd /usr/local/mysql/bin ./mysql -u root  

进入mysql后:

  1. mysql>  GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "chang";

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

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

  1. cd /usr/local/mysql/bin./mysql -u root -p

输入密码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.

查看一下用户信息:

  1. mysql> select user,host,password from mysql.user;

结果如下:

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

分别更改它们的密码:

  1. mysql> set password for root@localhost=password('chang');
  1. mysql> set password for root@linux=password('chang'); 
  1. mysql> set password for root@127.0.0.1=password('chang'); 

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

然后退出mysql。

▲把mysql做成服务

  1. sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

启动mysql服务

  1. sudo /etc/init.d/mysql start

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

▲配置mysql

  1. vi /etc/my.cnf

(注释:如果没有自动生成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的服务:

  1. sudo /etc/init.d/mysql restart

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

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

  1. cd /usr/local/mysql/bin./mysql -u root -p
  1. mysql> show variables like 'character%';

出现下面的画面:

+--------------------------+----------------------------------------+
| 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

centOS安装mysql---glibc方式的更多相关文章

  1. CentOS 安装MySQL rpm方式安装

    MySQL源码方式安装:https://www.cnblogs.com/deverz/p/10997723.html 从最新版本的linux系统开始,默认的是 Mariadb而不是mysql!这里依旧 ...

  2. centOS安装Mysql指南

    centOS安装Mysql指南 说明:使用操作系统centOS6.4 32位系统:mysql:mysql-5.7.10-linux-glibc2.5-i686.tar.gz; 一.准备 下载mysql ...

  3. centos安装 mysql

    centos安装 mysql 1. 下载mysqlmysql被oracle收购后现在退出了企业版和社区版本,社区版本是开源的,企业版是收费的.社区版可以下载源码也可以下载二进制文件包.源码安装比较麻烦 ...

  4. 1.centOS安装Mysql

    上个星期研究了一个星期的Mysql,从今天起把学到的东西整理一下. ---------------------------------------------- mysql安装本人亲试过两种安装方式, ...

  5. 阿里云服务器 CentOS 安装Mysql 5.6

    下载:https://dev.mysql.com/downloads/file/?id=471181   第一步: 安装mysql5姿势是要先安装带有可用的mysql5系列社区版资源的rpm包 [ro ...

  6. CentOS安装MySQL详解 转

      引言 最近某云搞活动,买了个服务器作为平时学习和测试用,新机器啥也没有,一些常用软件的安装是免不了的,于是乎想着把安装过程都详细记录下来,一是做个备忘,二是给有需要的同学作个参考. Linux上安 ...

  7. CentOS安装mysql、JDK、Tomcat部署环境

    1.1. 安装mysql-5.6 1.1.1. 检测系统内部有没有安装其他的mysql数据库 $ rpm -qa | grep mysql 1.1.2. 如果内部有需要先删除Mysql $ yum r ...

  8. CentOS安装MySQL

    好记性不如烂笔头,记录一下 yum list installed | grep mysql #检查是否安装了mysql yum -y remove mysql-libs.x86_64 #卸载已经安装的 ...

  9. centos 安装 mysql 5.6和workbench

    windows下安装mysql很简单,去官网找到.msi文件,一键安装就OK了. Centos下面安装Mysql5.6其实也是蛮简单的. 注意:centos6.5默认mysql版本是5.1的 1.添加 ...

  10. centos安装mysql(rpm)

    今天安装mysql时候出现错误MySQL conflicts with mysql-4.1.20-2 查看是否安装过mysql rpm -qa mysql 发现安装了老版本的mysql 使用rpm - ...

随机推荐

  1. spring的IOC入门案例

    步骤: 一,导入jar 二,创建类,在类里创建方法 三,创建Spring配置文件,配置创建类 四,写代码测试对象创建

  2. make only output error/warning message( 编译时,只输出错误信息和警告信息)

    make > /dev/null 这样,正常的信息被重定向输出到/dev/null,错误和警告信息会输出到标准错误设备(standard error,相对于标准输入/输出设备来说).

  3. 0c-适配 iOS 11

    参考路径:https://mp.weixin.qq.com/s?__biz=MzA3NTYzODYzMg==&mid=2653579210&idx=1&sn=d5ea8d46c ...

  4. python学习之-项目开发目录规范

    软件目录结构规范有什么好处: 通过规范化,能够更好的控制软件结构,让程序具有更高的可读性. 项目目录组织结构如下: Foo/ # 项目名 --bin/ # 可执行文件目录 --foo # 可执行程序 ...

  5. POJ 1502 水 dij

    题意:给N,表示N个节点. 给半个邻接矩阵,本身到本身的距离是0,边是双向的.当两个节点之间没有直接的边连接的时候,用x表示. 问从第一个节点到其他所有节点至少花费的时间. 这题唯一的处理是处理邻接矩 ...

  6. HDU 1896 【留个使用priority_queue容器的样例】

    感谢<啊哈!算法>的讲解,水鸟弄懂了什么是优先队列. 题意是:在路上有很多石子,给出他们的初始位置和小明能够将他们扔出的距离,当小明遇到奇数个石子的时候就会把它扔出,遇到偶数个就会忽略他, ...

  7. hdu4085(斯坦纳树)

    题意: 给你n,m,k ,分别表示有n个点,m条边,每条边有一个权值,表示修复这条边需要的代价,从前k个点中任取一个使其和后k个点中的某一个点,通过边连接,并且必须是一一对应,问最小的代价是多少. 分 ...

  8. 如何删除Windows 7的保留分区

    Windows 7的保留分区可以删除,但是必须小心.启动到Windows 7,运行具有管理员权限的CMD.exe,然后输入:diskpartsel disk 0list volsel vol 0 (你 ...

  9. cocoapods应用第一部分-xcode创建.framework相关

    问题的提出: 随着项目的越来越大,可能会出现好几个团队共同维护一个项目的情况,比如:项目组A负责当中的A块,项目组B负责当中的B块.....这几块彼此之间既独立,也相互联系.对于这样的情况,能够採用约 ...

  10. 深入浅出AOP(一)

    动态代理实现AOP: AOP事实上非常早之前依照做出来了一些东西,之所以不敢说做出来了.是由于它是什么?怎么实现?做出来的东西是不是?先前一直查资料.查到的资料跟着做.到后来发现,AOP越来越大,而非 ...