linux上mysql安装详细教程
所有平台的MySQL下载地址为: MySQL 下载. 挑选你需要的 MySQL Community Server 版本及对应的平台。
MySQL - MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。
MySQL-client - MySQL 客户端程序,用于连接并操作Mysql服务器。
MySQL-devel - 库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包。
MySQL-shared - 该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。
MySQL-bench - MySQL数据库服务器的基准和性能测试工具
安装步骤:
官方网站提供两种安装包下载,一种是让rpm的,一种是tar的,两种方式都可以,请自行选择.
首先介绍rpm包的安装步骤:
将下载的文件传到服务器上,然后放一个文件夹中。
进入到文件中执行以下命令:
1
|
[root@host] # rpm -i MySQL-5.0.9-0.i386.rpm |
MySQL-5.0.9-0.i386.rpm为你下载的文件的名字。
以上安装mysql服务器的过程会创建mysql用户,并创建一个mysql配置文件my.cnf。
你可以在/usr/bin和/usr/sbin中找到所有与MySQL相关的二进制文件。所有数据表和数据库将在/var/lib/mysql目录中创建
tar包安装过程:
mysql下载地址
进去点击community,然后点击Mysql Community Server
这里写图片描述
如图中1的位置为选择之前版本,根据需要选择自己合适的版本,
2的位置为不同系统下的linux版本,选择完将滚动条拉到最底下,进行下载。
下载好后,将tar包传输到服务器上。
1.解压
1
2
3
4
|
#解压 tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64. tar .gz #复制解压后的mysql目录 cp -r mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql |
2.添加用户和用户组
1
2
3
4
|
#添加用户组 groupadd mysql #添加用户mysql 到用户组mysql useradd -g mysql mysql |
3.安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
cd /usr/local/mysql/ #创建数据文件夹 mkdir . /data/mysql #修改文件权限 chown -R mysql:mysql ./ #安装并指定用户和data文件夹位置 . /scripts/mysql_install_db --user=mysql --datadir= /usr/local/mysql/data/mysql #复制mysql到服务自动启动里面 cp support-files /mysql .server /etc/init .d /mysqld #修改权限为755 也就是root可以执行 chmod 755 /etc/init .d /mysqld #复制配置文件到etc下,因为默认启动先去etc下加载配置文件 cp support-files /my-default .cnf /etc/my .cnf #修改启动脚本 vi /etc/init .d /mysqld #修改项: basedir= /usr/local/mysql/ datadir= /usr/local/mysql/data/mysql #启动服务 service mysqld start #测试连接 . /mysql/bin/mysql -uroot #加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了 export PATH=$PATH: /usr/local/mysql/bin #启动mysql service mysqld start #关闭mysql service mysqld stop #重新启动mysql service mysqld restart #查看运行状态 service mysqld status |
4.问题
安装完成后自行进行root用户密码修改和相关用户配置。
完成后用工具远程连接报错,是由于没有给远程连接的用户权限问题。
解决1:更改 ‘mysql'数据库‘user'表‘host'项,从‘localhost'改成‘%'。
1
2
3
4
|
use mysql; select 'host' from user where user= 'root' ; update user set host = '%' where user = 'root' ; flush privileges; |
解决2:直接授权
1
|
GRANT ALL PRIVILEGES ON *.* TO ‘root '@' % ' IDENTIFIED BY ‘youpassword' WITH GRA |