mysql的三种安装方式

一、yum安装
yum安装mysql极其简单,只要执行yum install mysql-server即可;
yum安装的应用场景:
yum/rpm安装适合于对数据库要求不太高的场合,例如并发不大,企业内部的一些应用场景。大的门户把源码根据企业的需求制作成rpm,搭建yum仓库,yum install soft -y。
二、采用cmake方式编译安装MySQL
由于MySQL5.5.xx-5.6.xx产品系列特殊性,所以编译方式也和早期的产品安装方式不同,采用cmake或gmake方式编译安装。即./configure;make;make install,生产场景的具体命令及参数为:
指定安装文件的安装路径时常用的选项:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 指定安装路径
-DMYSQL_DATADIR=/data/mysql 数据安装路径
-DSYSCONFDIR=/etc 配置文件的安装路径
由于MySQL支持很多的存储引擎而默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:
-DWITH_INNOBASE_STORAGE_ENGINE=1 安装INNOBASE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 安装ARCHIVE存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 安装BLACKHOLE存储引擎
-DWITH_FEDERATED_STORAGE_ENGINE=1 安装FEDERATED存储引擎
若要明确指定不编译某存储引擎,可以使用类似如下的选项:
-DWITHOUT__STORAGE_ENGINE=1
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 不启用或不编译EXAMPLE存储引擎
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:
-DWITH_READLINE=1
-DWITH_SSL=system 表示使用系统上的自带的SSL库
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
其它常用的选项:
-DMYSQL_TCP_PORT=3306 设置默认端口的
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock MySQL进程间通信的套接字的位置
-DENABLED_LOCAL_INFILE=1 是否启动本地的LOCAL_INFILE
-DEXTRA_CHARSETS=all 支持哪些额外的字符集
-DDEFAULT_CHARSET=utf8 默认字符集
-DDEFAULT_COLLATION=utf8_general_ci 默认的字符集排序规则
-DWITH_DEBUG=0 是否启动DEBUG功能
-DENABLE_PROFILING=1 是否启用性能分析功能

tar zxvf mysql-5.5.32.tar.gz
cd  mysql-5.5.32
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mydata \
-DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 -DWITH_SSL=system \
-DWITH_ZLIB=system -DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci 
make 
make install

三、采用二进制方式编译MySQL
采用二进制方式免编译安装MySQL,这种方法和yum/rpm包安装方式类似,适合各类MySQL产品系列,不需要复杂的编译设置及编译时间等待,直接解压下载的软件包,初始化即可完成mysql的安装启动。
1、下载mysql二进制包

https://dev.mysql.com/downloads/mysql/5.5.html#downloads

2、解压并重命名

tar -zxvf mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz
mv ./mysql-5.5.62-linux-glibc2.12-x86_64 /usr/local/mysql-5.5.62

3、创建mysql用户

useradd -s /sbin/nologin -M nlp
id nlp # 查看是否创建成功
uid=1001(nlp) gid=1001(nlp) groups=1001(nlp)

4、安装mysql

/usr/local/mysql-5.5.62/script/mysql_install_db --basedir=/usr/local/mysql-5.5.62/ --datadir=/usr/local/mysql/data/ --user=nlp
--basedir mysql基础目录
--datadir mysql数据存放目录

5、授权Mysql管理数据库文件

chown -R nlp.nlp /usr/local/mysql-5.5.62/

6、修改启动配置文件

cp /usr/local/mysql-5.5.62/support-files/my-small.cnf /etc/my.cnf
# vi /etc/my.cnf 修改配置如下:
	[client]
	#password       = your_password
	[mysqld]
	user = nlp  # 默认是mysql
	port = 3310
	basedir = /usr/local/mysql-5.5.62/
	datadir = /usr/local/mysql-5.5.62/data/

7、mysql启动

/usr/local/mysql-5.5.62/bin/mysqld --defaults-file=/etc/my.cnf  --user=nlp &

8、登录验证

/usr/local/mysql-5.5.62/bin/mysql -uroot -p # 初始密码为空,回车即可

9、设置密码以及更改密码

mysqladmin -uroot password 123456
mysqladmin -uroot -p123456 password mysql

10、配置环境变量

# vi /etc/profile
PATH="/usr/local/mysql-5.5.62/bin:$PATH"   ##尾部添加如下行
# 保存退出,并使配置立即生效
source /etc/profile  

四、mysql启动的四种方式

  1. mysqld:
    mysqld是mysql的核心程序,用于管理mysql的数据库文件以及用户的请求操作,mysqld可以读取配置文件中的[mysqld]的部分。
mysqld启动命令: bin/mysqld --defaults-file=/etc/my.cnf  &
  1. mysqld_safe启动:相当于多了一个守护进程,mysqld挂了会自动把mysqld进程拉起来
    (1)可以读取的配置部分[mysqld],[server],[myslqd_safe],为了兼容mysql_safe也会读取[safe_mysqld]中的配置
    (2)调用的mysqld是可以在[mysqld_safe]中用-mysqld, --mysqld-version指定
mysqld_safe启动命令:mysqld_safe --defaluts-file=/etc/my.cnf &
  1. mysqld_multi 启动
    是用于管理多实例启动的一个脚本。读取配置文件中的[mysqld_multi],[mysqldN] N需要一个整数,建议用端口号表示,该部分配置会覆盖[mysqld]部分中的配置。
    [mysqld_multi]
    mysqld = /usr/local/mysql/bin/mysqld_safe
    mysqladmin =/usr/local/mysql/bin/mysqladmin
    user= multiadmin
    password = multipass
mysqld_multi 启动命令:mysqld_multi start 3306	
  1. 注册系统service服务
cp support-files/mysql.server /etc/init.d/mysql 
启动命令:service mysql start

五、数据库管理
1、mysql> show databases; ##查看数据库;
2、mysql> drop database test; ##删除test库;
3、mysql> select user,host from mysql.user; ##查看用户列表;
4、mysql> drop user root@’::1’; ##删除无用用户
5、mysql> drop user ‘’@‘Mysql_server’;
6、mysql> drop user ‘’@‘localhost’;
7、mysql> drop user ‘root’@‘Mysql_server’;
对于大写、特殊字符删除不了解决办法:
1、mysql> delete from mysql.user where user="" and host=“Mysql_server”;
2、mysql> delete from mysql.user where user=“root” and host=“Mysql_server”;
3、mysql> select user,host from mysql.user; ##将无用用户删除以后,查看用户列表
4、mysql> flush privileges; ##最后使得权限生效

六、如何正确选择MySQL的安装方式
mysql5.5及以上的版本,安装方式机器数量少的话,建议使用cmake编译方式,数量多的话就用二进制免安装,这是大多数运维人员的选择。

注:不要使用yum删除功能或软件,会删除相关依赖,导致意外问题。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值