mysql下载地址 http://ftp.ntu.edu.tw/MySQL/Downloads 1.从 MySQL 官网上分别下载 mysql 服务器端于客户端包。如
mysql下载地址
http://ftp.ntu.edu.tw/MySQL/Downloads |
1.从 MySQL 官网上分别下载 mysql 服务器端于客户端包。如
MySQL-server-5.5.59-1.el7.x86_64.rpm ; MySQL-client-5.5.59-1.el7.x86_64.rpm 并放到/opt 目录下 |
2.进入系统后,检测是否安装 mysql
1)检测是否安装 Mysql 输入
#rpm -qa | grep -i mysql |
若已安装过,会出现以下
MySQL-server-5.5.59-1.el7.x86_64 MySQL-client-5.5.59-1.el7.x86_64 |
2)那么输入以下命令删除它:
#rpm -ev MySQL-server-5.5.59-1.el7.x86_64 # rpm -ev MySQL-client-5.5.59-1.el7.x86_64 注意:若删除的时候,出现删除不成功,出现依赖的包,前提必须删除依赖项。 |
3.安装 MySQL
1)第一步:安装 mysql 服务端,输入以下命令
# rpm -ivh /opt/MySQL-server-5.5.59-1.el7.x86_64.rpm |
2)当出现如下:
Preparing... ########################################### [100%] 1:MySQL-server ########################################### [100%] 。。。。。。(省略显示) |
表示 MySQL 安装完成。
若出现错误,可能是存在依赖关系或不兼容
# yum remove mysql-libs 去除不兼容的 lib |
或者卸载其他 MySQL 版本
3)安装 mysql 客户端,同理输入以下命令
# rpm -ivh /opt/MySQL-client-5.5.59-1.el7.x86_64.rpm |
当出现如下:表示安装成功
warning: MySQL-client-5.1.7-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5 Preparing... ########################################### [100%] 1:MySQL-client ########################################### [100%] 显示安装完毕。 |
4 配置 MySQL
1)上面都是安装完成了,但都是默认的,还需要很多配置。
先了解下默认安装位置及作用 1.数据库目录 /var/lib/mysql/ 2、配置文件 /usr/share/mysql(mysql.server 命令及配置文件) 3、相关命令 /usr/bin(mysqladmin mysqldump 等命令) 4、启动脚本 /etc/rc.d/init.d/(启动脚本文件 mysql 的目录) 如:/etc/rc.d/init.d/mysql start/restart/stop/status |
2)由于 MySQL 数据库目录占用磁盘比较大,所以我在/根目录下建了个个目录 data,命令如下:
#cd / #mkdir data |
3)把数据库移动到 data 目录中去。输入以下命令:
# mv /var/lib/mysql /data |
最后,进入 data 目录就会看到有一个 mysql 文件夹。 拷贝完后还需修改/etc/rc.d/init.d/mysql 的 datadir 目录值,修改结果如:
basedir= datadir=/data/mysql |
5)拷贝配置文件到/etc 目录下,并命名为 my.cnf(必须名为 my.cnf)
#cp /usr/share/mysql/my-medium.cnf /etc/my.cnf |
这儿要注意:/usr/share/mysql/下有好几个结尾为 cnf 的文件,它们的作用分别是:
1.my-small.cnf 是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的 数据库。 2.·my-medium.cnf 是为中等规模的数据库而设计的。如果你正在企业中使用 RHEL,可能 会比这个 操作系统的最小 RAM 需求(256MB)明显多得多的物理内存。由此可见,如果有那么多 RAM 内存可 以使用,自然可以在同一台机器上运行其它服务。 3·my-large.cnf 是为专用于一个 SQL 数据库的计算机而设计的。由于它可以为该数据库 使用多达 512MB 的内存,所以在这种类型的系统上将需要至少 1GB 的 RAM,以便它能够同时处理 操作系统与 数据库应用程序。 4·my-huge.cnf 是为企业中的数据库而设计的。这样的数据库要求专用服务器和 1GB 或 1GB 以上的 RAM。 这些选择高度依赖于内存的数量、计算机的运算速度、数据库的细节大小、访问数据库 的用户数量 以及在数据库中装入并访问数据的用户数量。随着数据库和用户的不断增加,数据库的 性能可能会 发生变化。 |
6)最后配置/etc/my.cnf 文件的 datadir,和 mysql.sock 路径以及默认编码 utf-8
[client] password = 123456 port = 3306 socket = /data/mysql/mysql.sock default-character-set=utf8 # Here follows entries for some specific programs # The MySQL server[mysqld] port = 3306 socket = /data/mysql/mysql.sock skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M character_set_server=utf8 collation-server=utf8_general_ci lower_case_table_names=1 character_set_client=utf8 (注意 linux 下 mysql 安装完后是默认:区分表名的大小写,不区分列名的大小写; lower_case_table_names = 0 0:区分大小写,1:不区分大小写) max_connections=1000(设置最大连接数,默认为 151,MySQL 服务器允许的最大连接数 16384; ) [mysql] default-character-set = utf8 no-auto-rehash |
红色字体标示为修改后的。
7) 进入/data 目录下重启 mysql 服务
#service mysql restart |
(8)登录 mysql
#cd /usr/bin/mysql -u root -p Enterpassword:(直接回车,因为第一次为空密码) |
(9)登录成功后,修改密码 进入>mysql 环境下,
1.0 显示数据库 输入: > mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 2.选择一个数据库 > mysql> use mysql; Database changed 3.0 修改密码 方法一: 在 mysql 系统外,使用 mysqladmin # mysqladmin -u root -p password "test123" Enter password: 【输入原来的密码】 方法二: 通过登录 mysql 系统, # mysql -u root -p Enter password: 【输入原来的密码】 mysql>use mysql; mysql> UPDATE user SET password=password("test123") WHERE user='root'; mysql> flush privileges; mysql> exit; 二、忘记原来的 myql 的 root 的密码; 首先,你必须要有操作系统的 root 权限了。要是连系统的 root 权限都没有的话,先考虑 root 系统再走下面的步骤。 类似于安全模式登录系统,有人建议说是 pkill mysql,但是我不建议哈。因为当你 执行了这个命令后,会导致这样的状况: /etc/init.d/mysqld status mysqld dead but subsys locked 这样即使你是在安全模式下启动 mysql 都未必会有用的,所以一般是这样 /etc/init.d/mysqld stop,如果你不幸先用了 pkill,那么就 start 一下再 stop 咯。 # mysqld_safe --skip-grant-tables & &,表示在后台运行,不再后台运行的话,就再打开一个终端咯。 # mysql mysql> use mysql; mysql> UPDATE user SET password=password("test123") WHERE user='root'; mysql> flush privileges; mysql> exit; |
10)执行以下语句用来查看 MySQL 默认编码
mysql> show variables like '%colla%'; +----------------------+-------------------+ | Variable_name | Value | +----------------------+-------------------+ | collation_connection | gb2312_chinese_ci | | collation_database | utf8_general_ci | | collation_server | utf8_general_ci | +----------------------+-------------------+ |
11)MySQL 查看当前使用用户
>mysql show processlist; |
(12)MySQL 查看安装位置
ps -ef|grep mysql |
5.3.5 远程访问问题
1.进入 mysql:
mysql -u root -p |
2.使用 mysql 库 :
use mysql; |
3.查看用户表 :
SELECT `Host`,`User` FROM user; |
4.添加远程访问权限 :
UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1; |
5.强制刷新权限 :
flush privileges; |
6.开启防火墙端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload |
5.3.6 数据库自启
1、将服务文件拷贝到 init.d 下,并重命名为 mysql
cp /usr/share/mysql/mysql.server /etc/init.d/mysqld |
2、赋予可执行权限
chmod +x /etc/init.d/mysqld |
3、添加服务
chkconfig --add mysqld |
4、显示服务列表
chkconfig --list |
如果看到 mysql 的服务,并且 3,4,5 都是 on 的话则成功,如果是 off,则键 入
chkconfig --level 345 mysql on |
5、重启电脑
reboot |
6、验证
netstat -na | grep 3306 |
至此mysql5.5安装完成