首页 > 代码库 > MYSQL_Linux安装笔记

MYSQL_Linux安装笔记

MYSQL_Linux安装笔记

***实验环境***

1.系统平台:RedHat Linux 6.5

[root@mysql ~]# uname -a

Linux mysql 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux

[root@mysql ~]# cat /etc/issue

Red Hat Enterprise Linux Server release 6.5 (Santiago)

Kernel \r on an \m

2.实用软件:mysql-5.5.37.tar.gzcmake-2.8.12.2.tar.gz

 软件来源:http://mysql.mirror.kangaroot.net/Downloads/MySQL-5.5/

      http://wwwNaNake.org/files/v2.8/

3.准备前工作:

A.修改主机名文件

[root@mysql /]# vi /etc/hosts

192.168.1.211   mysql

B.修改网络配置文件

[root@mysql /]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

HWADDR=00:0C:29:A6:EF:6E

TYPE=Ethernet

UUID=4d0cd3ec-ef71-4036-bf9e-4d46ae76bcb2

ONBOOT=yes--不允许自动引导

NM_CONTROLLED=yes

BOOTPROTO=static--使用静态IP地址

IPADDR=192.168.1.221--添加Ip地址

NETWORK=255.255.255.0--添加子网掩码

GATEWAY=192.168.1.1--添加网关

[root@mysql /]# service network restart

B.关闭防火墙

[root@mysql /]# service iptables stop

C.关闭安全机制

[root@mysql /]# vi /etc/selinux/config

SELINUX=disabled

D.重启计算机

[root@mysql /]# reboot

or init 6

or shutdown -rf

 

 

一、 校验MYSQL是否存在已安装库文件,如果已存在库文件需删除;不然会引起冲突

[root@mysql ~]# rpm -qa | grep -i mysql

qt-mysql-4.6.2-26.el6_4.x86_64

mysql-server-5.1.71-1.el6.x86_64

mysql-libs-5.1.71-1.el6.x86_64

perl-DBD-MySQL-4.013-3.el6.x86_64

mysql-5.1.71-1.el6.x86_64

二、 卸载已存在的MYSQL库文件

[root@mysql ~]# rpm -ev qt-mysql-4.6.2-26.el6_4.x86_64 --nodeps

[root@mysql ~]# rpm -ev mysql-server-5.1.71-1.el6.x86_64 --nodeps

[root@mysql ~]# rpm -ev mysql-libs-5.1.71-1.el6.x86_64 --nodeps

[root@mysql ~]# rpm -ev mysql-5.1.71-1.el6.x86_64 --nodeps

[root@mysql ~]# rpm -ev perl-DBD-MySQL-4.013-3.el6.x86_64 --nodeps

OR 使用yum 删除库文件

/*6.5 yum配置方法*/

a. 备份系统自带yum源,备份之后;或删除或重命名

[root@mysql mysql]# cp –p /etc/yum.repos.d/rhel-source.repo ~/rhel-source.repo.bak

[root@mysql mysql]# rm f /etc/yum.repos.d/rhel-source.repo

or

[root@mysql mysql]# mv rhel-source.repo back_rhel-source.repo.bak

b.创建yum源文件

[root@mysql mysql]# cd /etc/yum.repos.d

vi rhel6.repo

[rhel6.5]

name=yum server

baseurl=file:///yum

enabled=1

gpgcheck=0

gpgfile=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

c.创建yum目录

[root@mysql mysql]# mkdir /yum

d.挂在光驱至yum目录(redhat 6.5 配置完成后,如果不能识别需要重启服务器再挂载yum)

[root@mysql mysql]# mount /dev/cdrom /yum

f.测试yum源

[root@mysql mysql]# Yum list

[root@mysql mysql]# Yum clean all

g.删除MYSQL库文件

[root@mysql mysql]# yum y remove mysql-5.1.71-1.el6.x86_64

 

三、 将动态函数库加载到高速缓存(cache)中,提供MYSQL的高可用性

1. MySQL数据库函数库的存放目录写入此文件中

[root@mysql software]# vi /etc/ld.so.conf

include ld.so.conf.d/*.conf

/usr/local/lib

/usr/local/lib64

2.保存写入,生效函数库

[root@mysql software]# ldconfig

[root@mysql software]# ldconfig -p

四、 确保以下所需系统软件包已经被安装

1. 切入到yum源存放目录

[root@mysql Packages]# cd /yum/Packages

2. 校验系统所需软件包gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool*

[root@mysql Packages]# rpm -qa | grep -i gcc*

  3.好吧,不要都验证了;把所有的需求软件包都安装

[root@mysql Packages]# yum -y install gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool*

五、 安装方法常用有两种,一种为通用方法格式为.tar的源码安装,一种为RPM包安装方法

***源码包实施安装过程***

1. 查看MYSQL组和用户,重建MYSQL组及用户

[root@mysql ~]# cat /etc/group

[root@mysql ~]# cat /etc/passwd

[root@mysql ~]# userdel mysql

[root@mysql ~]# groupadd mysql

[root@mysql ~]# useradd -r -g mysql mysql

2. 新建MYSQL数据库工作目录,建议设在/usr/local/下面

a. 创建MYSQL安装路径

[root@mysql mysql]# mkdir -p /usr/local/mysql

b. 创建MYSQL数据库存放路径

[root@mysql /]# mkdir -p /data/mysql

c. 赋予MYSQL数据存放权限

[root@mysql /]# chown -R mysql:mysql /data/mysql/

[root@mysql /]# chmod 775 /data/mysql/

3. 安装cmake软件包

[root@mysql software]# tar -zxvf  cmake-2.8.12.2.tar.gz

[root@mysql software]# ls

[root@mysql software]# cd cmake-2.8.12.2

[root@mysql cmake-2.8.12.2]# ls

[root@mysql cmake-2.8.12.2]# ./configure

[root@mysql cmake-2.8.12.2]# make;make install

4. 编译安装MYSQL源码包

 [root@mysql software]# tar zxvf mysql-5.5.37.tar.gz

[root@mysql software]# cd mysql-5.5.37

[root@mysql mysql-5.5.37]# ls

[root@mysql mysql-5.5.37]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql/ -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306

[root@mysql mysql-5.5.37]# echo $?

***注意事项***

echo $? 返回0则表示成功,返回1则标识失败

重新编译时,需要清除旧的对象文件和缓存信息。

# make clean

# rm -f CMakeCache.txt

# rm -rf /etc/my.cnf

参数说明:

-DCMAKE_INSTALL_PREFIX=/home/mysql/mysql   //安装目录

-DINSTALL_DATADIR=/home/mysql/data         //数据库存放目录

-DDEFAULT_CHARSET=utf8                     //使用utf8字符

-DDEFAULT_COLLATION=utf8_general_ci         //校验字符

-DEXTRA_CHARSETS=all                       //安装所有扩展字符集

-DENABLED_LOCAL_INFILE=1                   //允许从本地导入数据

[root@mysql mysql-5.5.37]# make;make install

[root@mysql mysql-5.5.37]# echo $? (0表示成功,1表示失败)

5. /usr/local/src/mysql/mysql-5.5.37下的目录结构

Directory

Contents of Directory

bin

Client programs and the mysqld server

data

Log files, databases

docs

Manual in Info format

man

Unix manual pages

include

Include (header) files

lib

Libraries

scripts

mysql_install_db

share

Miscellaneous support files, including error messages, sample configuration files, SQL for database installation

sql-bench

Benchmarks

 

6. 配置并初始化数据库

a. 创建my.cnf配置文件

[root@mysql mysql-5.5.37]# cp support-files/my-medium.cnf /etc/my.cnf

b. 执行前需赋给scripts/mysql_install_db文件执行权限

[root@mysql mysql-5.5.37]# cd /usr/local/mysql/

[root@mysql mysql]# ls

c. 初始化数据库

       [root@mysql mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/

       [root@mysql mysql]# echo $?

d. 创建管理MySQL数据库的shell脚本,并赋予其执行权限

[root@mysql mysql]# cp support-files/mysql.server /etc/init.d/mysqld

[root@mysql mysql]# chmod +x /etc/init.d/mysqld

e. 启动MYSQL数据库

[root@mysql mysql]# /etc/init.d/mysqld start

Starting MySQL...[  OK  ]

f. 通过命令行登录管理MySQL服务器(提示输入密码时直接回车)

[root@mysql mysql]# /usr/local/mysql/bin/mysql -u root –p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.5.37-log Source distribution

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> quit

Bye

g. 安装MYSQL客户端软件包,可以支持MYSQL命令行命令

[root@mysql Packages]# yum -y install mysql

h. 设置Mysql密码

 [root@test ~]#/usr/local/mysql/bin/mysqladmin password -uroot ‘cy_mysql‘

***遇到问题,提示没有使用密码***

mysqladmin: connect to server at ‘localhost‘ failed
error: ‘Access denied for user ‘root‘@‘localhost‘ (using password: YES)‘

***解决办法***

(1)查看配置文件使用密码情况

[root@mysql Packages]# cat /etc/my.cnf

(2)建立mysql命令链接

[root@mysql mysql]# ln -s /usr/local/mysql/bin/* /usr/local/bin

(3)以命令行模式启动MYSQL,修改密码,为root添加远程连接能力;更新权限

[root@mysql mysql]#  mysqld_safe --skip-grant-tables &

mysql -uroot –p

Enter password:cy_mysql (输入密码)

mysql> use mysql;

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

or

mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘cy_mysql‘ WITH GRANT OPTION;

mysql> update user set password=PASSWORD("cy_mysql")where user="root";

mysql> select Host,User,Password  from user where User=‘root‘;

mysql> flush privileges ;

mysql> quit

(4)重新启动MYSQL数据库,并验证登录

[root@mysql ~]# service mysqld restart

[root@mysql ~]# mysql -uroot –p

Enter password:cy_mysql

mysql> show databases ;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

4 rows in set (0.00 sec)

mysql> quit

7. 重新启动Linux服务器,登录MYSQL报错

[root@mysql ~]# mysql -uroot -p

Enter password:

ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/data/mysql/mysql.sock‘ (2)

a. 查看MYSQL数据服务是否启动

[root@mysql ~]# /etc/init.d/mysqld status

b. 启动MYSQL数据库

[root@mysql ~]# service mysqld start

Or

[root@mysql ~]# /etc/init.d/mysqld start

 

8. 在客户端使用Navicat for mysql工具连接MYSQL进行操作

技术分享 

技术分享 

 

9. 修改MYSQL服务器数据库中命令行不区分表大小写

[root@mysql ~]# vi /etc/my.cnf

[mysqld]

lower_case_table_names=1

10.   数据备份与还原

  (1). 备份整个库

a. 创建备份目录

 [root@mysql /]# mkdir /backup

b. 指定备份目录,指定备份库

[root@mysql /]# mysqldump -u root -p bank > /backup/test_bank.sql

Enter password:

c. 还原数据库

[root@mysql backup]# mysql -u root -p

Enter password:

mysql> use bank

Database changed

mysql> source /backup/test_bank.sql

  (2).备份某一个表

      a.备份表

[root@mysql backup]# mysqldump -u root -p bank tab_item > /backup/test_bank_item.sql

c. 还原表

[root@mysql backup]# mysql -u root -p

Enter password:

mysql> use bank

Database changed

mysql> source /backup/test_bank_item.sql

 


MYSQL_Linux安装笔记