MySQL安装的N种方式
一、二进制包安装
1.)下载:在官网的下载页面下的服务器操作系统选择 Linux- Generic ; 进制分发版的格式是:mysql-<版本>-<OS>-tar.gz
2.)解压并更名到指定目录,并在其下创建data、log并赋予相关目录mysql的用户权限
3.)初始化MySQL(警告提示可忽略):bin/mysqld --initialize --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data/
[注意]打印信息root@localhost后会有生成临时密码的提示。
4.)MySQL使用ssl连接:bin/mysql_ssl_rsa_setup --datadir=/opt/mysql/data/
5.)添加mysql启动脚本到本地系统服务:cp support-files/mysql.server /etc/init.d/mysql.server
6.)创建/etc/my.cnf文件,并写入:
[mysqld]
basedir=/opt/mysql
datadir=/opt/mysql/data
socket=/opt/mysql.sock #需要mysql用户权限
user=mysql
log_error=/opt/mysql/log/mysql.log #手动在log下面创建文件并赋予权限。
7、启动方式:
1.service mysql.server start
2.bin/mysqld_safe --user=mysql &
8、将MySQL的二进制执行文件目录添加到环境变量:
ln -s /opt/mysql/bin/mysql /usr/bin/
9.更改密码,配置文件中添加“skip-grant-tables”
mysql> update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';
mysql> flush privileges;.
二、RPM安装
1.、检测系统是有缺省MySQL的相关组件:rpm -qa|grep -E 'mariadb|mysql',有则rpm -e --nodeps卸载,否则安装报类似如下错误:file /usr/share/mysql/charsets/swe7.xml from install of mysql-community-common.x86_64
2、下载相关依赖包,并按顺序安装:
mysql-community-common
mysql-community-libs
mysql-community-client
mysql-community-server
3、启动MySQL:service mysqld start OR systemctl start mysqld
三、yum安装
官方epel源:(默认是官网当前发布的版本) https://dev.mysql.com/downloads/repo/yum/
1.)安装步骤
rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql mysql-server
根据配置文件得知数据文件的默认安装路劲是在/var/lib/mysql 下,可以迁移到其他目录:
1.)cp -a /var/lib/mysql /usr/local/
2.)配置文件中将缺省的参数更改为下例:
datadir=/usr/local/mysql
socket=/usr/local/mysql/mysql.sock #可以不加下列参数,否则登录时需要“-S”手动指定套接字的存在
[client]
socket=/usr/local/mysql/mysql.sock
3.)
切记一定要关闭Selinux,否则无法启动mysql。
数据路劲切换完成后建议将原有的目录名称更改,防止系统中其他mysql配置文件调用原有文件。
四、源码安装
1.)检测系统自带的mysql-libs包,并进行卸载
2.)由于MySQL源码安装:从mysql5.5以后是通过cmake来编译的安装的,但cmake要依赖ncurses,所以你懂的,有需要依赖就装给它!
下载如下插件并编译安装:
ncurses:ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.8.tar.gz
cmake:https://cmake.org/files/v3.0/cmake-3.0.2.tar.gz
./configure make ; make install
3.)编译安装Mysql
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/MySQL/ -DMySQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMySQL_UNIX_ADDR=/tmp/MySQL.sock -DMySQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
make && make install
#######编译参数详解:
# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径
# -DMYSQL_DATADIR=/usr/local/mysql/data \ #数据文件存放位置
# -DSYSCONFDIR=/etc \ #my.cnf路径
# -DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
# -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
# -DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
# -DWITH_READLINE=1 \ #快捷键功能(我没用过)
# -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径
# -DMYSQL_TCP_PORT=3306 \ #端口
# -DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据
# -DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装支持数据库分区
# -DEXTRA_CHARSETS=all \ #安装所有的字符集
# -DDEFAULT_CHARSET=utf8 \ #默认字符
4.)安装完成后续的操作:
useradd mysql
chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /mysql/data/
5.)初始化数据库(初始完之后会在数据文件中生成一些文件)
cd /usr/local/MySQL/scripts
./mysql_install_db --user=mysql --basedir=/usr/local/MySQL --datadir=/usr/local/MySQL/data
6.)copy主配置文件到/etc/。
cp /usr/local/MySQL/support-files/my-default.cnf /etc/my.cnf
注意:老版本名称是my-medium.cnf3
7.)将mysql添加到系统服务:
cp /usr/local/MySQL/support-files/mysql.server /etc/init.d/mysqld
注意事项:
重新编译时,需要清除旧的对象文件和缓存信息。
#make clean
#rm -f CMakeCache.txt
#rm -rf /etc/my.cnf
五、ERROR案例:
1.)登录报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
解决方案:
临时::登录时加-S sock文件绝对路劲
最终:将配置文件中的[client]添加socket字段与[mysqld]socket相同。或则两个配置项都不写socket字段(可能不行)
排错思路:检测配置文件中指定的socket字段路劲权限是否正常。MySQL编译安装时会要求指定socket的绝对路劲,就算在配置文件中的mysqld与client中不写socket字段都没关系,而MySQL二进制文件是官方编译后的软件,其编译参数都是默认的,即在mysqld配置段指定了socket,而client不指定则会出现冲突。
2.)执行任意操作时提示:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
解决方案:
更改密码:SET PASSWORD = PASSWORD('123456'); 注意配置文件中添加skip则不支持执行该命令; 且要求密码规则如此:用大写字母+数字+特殊字符长度 8 位以上混合,否则提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
如果只想设置简单密码需要修改两个全局参数:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
MySQL安装的N种方式的更多相关文章
- MySQL安装的三种方式
.markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(171, 178 ...
- mysql备份的4种方式
mysql备份的4种方式 转载自:https://www.cnblogs.com/SQL888/p/5751631.html 总结: 备份方法 备份速度 恢复速度 便捷性 功能 一般用于 cp 快 快 ...
- linux下软件安装的几种方式
linux下软件安装的几种方式(主要有源码安装, rpm安装, yum安装). 一:源码安装 几乎所有的开源软件都支持在Linux下运行,而这些软件一般都以源码形式发放,只需要Linux安装了gcc. ...
- 【转】Linux下软件安装的几种方式
转自Linux下软件安装的几种方式 Linux 系统的/usr目录 Linux 软件安装到哪里合适,目录详解 Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统 ...
- Linux 软件安装的三种方式
Linux 软件安装的三种方式 1.yum 语法格式: yum -y install package.name -y yes # 遇到提示自动输入yes 案例: 安装ifconfig命 ...
- PHP连接MySQL数据库的几种方式
PHP 5 及以上版本建议使用以下方式连接 MySQL : MySQLi :MySQLi 只针对 MySQL 数据库,MySQLi 还提供了 API 接口. PDO (PHP Data Objects ...
- Fedora中允许mysql远程访问的几种方式
Fedora中允许mysql远程访问,可以使用以下两种方式:a.改表. mysql>use mysql; mysql>update user set host = '%' where us ...
- Linux系统软件安装的几种方式
Linux系统,一个文件能不能执行看的是有没有可执行权限x,不过真正的可执行文件是二进制文件(binary file),举例来说Linux上的c语言源码编写完后,通过gcc程序编译后就可以创建一个可执 ...
- MySQL InnoDB 备份与恢复七种方式
有几种方式: 1 mysqldump, 这种方式不仅适用于InnoDB,还适用于其它类型的存储引擎,如MyISAM.备份的时候将数据库备份成SQL(包含drop,create,insert等语句),恢 ...
随机推荐
- NoSQL 数据库概览及其与 SQL 语法的比较
NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用的难题. 本文对NoSQL数据库的定义.分类.特征.当前比较流行的NoSQL数据库系统等进行了简单的介绍,并对N ...
- CentOS6.5之Zabbix3.2.2 Server安装、汉化及Agent安装
1.安装MySQL 1.1.安装MySQL rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm yum ...
- MongoDB的固定集合
一.MongoDB固定集合概念 固定集合指的是事先创建,并且大小固定的集合.即假设一个集合设置了固定大小为100,再添加一条文档的时候,会把最前面的文档剔除,永远只保留100条数据. 固定集合特性:固 ...
- media query媒体查询
媒体查询(CSS3 media query) 一.逻辑操作符:not.and.only not:not操作符用来对一条媒体查询的结果取反. and:and操作符用来把多个媒体属性组合起来,合并到同一条 ...
- 转载SQL_trace 和10046使用
SQL_TRACE是Oracle提供的用于进行SQL跟踪的手段,是强有力的辅助诊断工具.在日常的数据库问题诊断和解决中,SQL_TRACE是非常常用的方法.本文就SQL_TRACE的使用作简单探讨,并 ...
- Http协议面试题
1.说一下什么是Http协议? 对器客户端和 服务器端之间数据传输的格式规范,格式简称为“超文本传输协议”. 2.什么是Http协议无状态协议?怎么解决Http协议无状态协议?(曾经去某创业公司问到) ...
- 130. Surrounded Regions(周围区域问题 广度优先)(代码未完成!!)
Given a 2D board containing 'X' and 'O' (the letter O), capture all regions surrounded by 'X'. A reg ...
- Linux树莓派中/etc/rc.local不执行的问题
最近研究在树莓派中嵌入式开发java程序,并打算和Salesforce进行通信.需要开发一个java的web server,不想弄那么复杂,于是打算在linux系统中/etc/rc.local写想要执 ...
- deeplenrnig学习笔记——什么是特征
特征是机器学习系统的原材料,对最终模型的影响是毋庸置疑的.如果数据被很好的表达成了特征,通常线性模型就能达到满意的精度. 一.特征的表示粒度: 学习算法在一个什么粒度上的特征表示,才有能发挥作用 ...
- iOS开发之XMPPFramework环境搭建和配置
1.mysql数据库安装和配置 官方下载地址:http://www.mysql.com/downloads/ 百度云盘地址: 安装软件参考:http://www.cnblogs.com/macro-c ...