本人博客供参考
创新互联建站是一家专注于网站建设、成都网站建设与策划设计,安宁网站建设哪家好?创新互联建站做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:安宁等地区。安宁做网站价格咨询:028-86922220
网页链接
下载mysql源安装包shell wget
安装mysql源shell yum localinstall mysql57-community-release-el7-8.noarch.rpm
检查mysql源是否安装成功
yum repolist enabled | grep “mysql.-community.”
安装MySQL
yum install mysql-community-server
启动MySQL服务
shell systemctl start mysqld
查看MySQL的启动状态
shell systemctl status mysqld
开机启动
shell systemctl enable mysqld
shell systemctl daemon-reload
修改root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
shell grep ‘temporary password’ /var/log/mysqld.log
shell mysql -uroot -p
mysql ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyNewPass4!’;
或者:
mysql set password for ‘root’@’localhost’=password(‘MyNewPass4!’);
注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误
添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:
mysql GRANT ALL PRIVILEGES ON . TO ‘yangxin’@’%’ IDENTIFIED BY ‘Yangxin0917!’ WITH GRANT OPTION;
以上部分个人实践过,以下内容待实践
数据库存emoji 表情问题
mysql SHOW VARIABLES WHERE Variable_name LIKE ‘character_set_%’ OR Variable_name LIKE ‘collation%’;
+————————–+——————-+
| Variable_name | Value |
+————————–+——————-+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+————————–+——————-+
10 rows in set (0.02 sec)
可以看到我的mysql版本是5.7的,utf8mb4有一个使用限制,mysql版本必须是5.5以上,大家需要注意,我目前用的ubuntu系统是16.04的。当前mysql的字符集配置如上表,我们的目的是更改成utf8mb4。
3.找到mysql的配置文件,可用命令
sudo find / -name my.cnf
我的配置文件位置如下,个别的位置有所不同
/etc/mysql/mysql.conf.d/mysqld.cnf
4.修改配置文件
在原文中添加以下内容:
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=’SET NAMES utf8mb4’
原文件中无“[client]”和“[mysql]”,需要手动添加上。
……
Here is entries for some specific programs
The following values assume you have at least 32M ram
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
* Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=’SET NAMES utf8mb4’
#
Instead of skip-networking the default is now to listen only on
……
5.重启mysql服务
sudo service mysql restart
6.查看结果
mysql SHOW VARIABLES WHERE Variable_name LIKE ‘character_set_%’ OR Variable_name LIKE ‘collation%’;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect…
Connection id: 3
Current database: * NONE *
+————————–+——————–+
| Variable_name | Value |
+————————–+——————–+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| collation_connection | utf8mb4_unicode_ci |
| collation_database | utf8mb4_unicode_ci |
| collation_server | utf8mb4_unicode_ci |
+————————–+——————–+
10 rows in set (0.00 sec)
从官网下载安装包MySQL :: Download MySQL Community Server
解压到/usr/local目录下,重命名为mysql
然后在终端输入以下命令:
shell groupadd mysql
shell useradd -r -g mysql mysql
shell cd /usr/local
shell cd mysql
shell chown -R mysql . (别忘了最后有一个点,下同)
shell chgrp -R mysql .
shell scripts/mysql_install_db --user=mysql
这句执行后如果报错:
scripts/mysql_install_db: 244: ./bin/my_print_defaults: not found
Neither host 'ubuntu' nor 'localhost' could be looked up with
./bin/resolveip
Please configure the 'hostname' command to return a correct
hostname.
If you want to solve this at a later stage, restart this script
with the --force option
在终端输入uname -a命令查看系统版本,如果结果为x86_64则说明系统是64位的,是不是下载的安装包不对了?到官网下载64位版本的,把刚解压到mysql目录删掉,重新执行上面这一条语句
如果又报错:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
这说明少个东西,执行下面这条命令:
sudo apt-get install libaio-dev
安装完成后再执行scripts/mysql_install_db --user=mysql这条语句
继续执行后续命令:
shell chown -R root .
shell chown -R mysql data
好了,下面启动:
sudo ./support-files/mysql.server start
# /usr/local/mysql/bin/mysqld_safe --user=mysql
cd /usr/local/mysql/bin //进入 bin目录
#mysql //运行mysq命令
如果没有没有启动 或出现 Can't connect to local MySQL server through socket '/tmp/mysql.sock'
解决方法: #cd /usr/local/mysql/support-files //进入该目录
#./mysql.server start //启动即可 既可在生成/tmp/mysql.sock
如果/tmp/mysql.sock 无该文件存在,且mysql是处于 开启的状态?
解决方法: #netstat -an | grep 3306 //查看 3306端口
#ps -ef | grep mysql // 查找 mysql 进程
# kill -9 进程号 //强制删除mysql的进程号
#./mysql.server start // 启动即可 既可在生成/tmp/mysql.sock
如果在任意路径下如数mysql命令得到的无该命令咋办呢?
解决方法:修改 /etc/profile 文件 在文件中加入
PATH=$PATH:/usr/local/mysql/bin/
export PATH (保存即可退出执行 source /etc/profile)
以上操作完全可以 在任意目录执行 # mysql 命令
如果想执行 service mysql start or restart stop 命令咋办的? 在不能老#./mysql.server start
解决方法:将 mysql.server 复制一份到 /etc/rc.d/init.d 下并改名 mysql 或 建个连接文件
假设当前目录为 /etc/rc.d/init.d
如: #cp /usr/local/mysql/support-files/mysql.server mysql (复制)
或 : #ln -s /usr/local/mysql/support-files/mysql.server mysql (建立连接文件)
完成以上操作即可 执行 service mysql start (or restart stop)
用如下命令修改MYSQL密码
# /usr/local/mysql/bin/mysqladmin -u root password yourpassword //默认安装密码为空,为了安全你必须马上修改
# chmod 700 /etc/init.d/mysql
# chkconfig --add mysqld
# chkconfig --level 345 mysql on //copy编译目录的一个脚本设置使mysql每次启动都能自动运行
# service mysql start
# netstat -atln
//启动mysql服务
//查看3306端口是否打开。要注意在防火墙中开放该端口。
可以用telnet localhost 3306来测试一下,如果有反应,那就表明安装成功了
1.备份旧版mysql中的所有数据库 在cmd中进入旧版mysql安装目录下的bin目录。 我的目录(默认安装位置)是: C:\Program Files\MySQL\MySQL Server 5.5\bin ...
2.完全卸载旧版mysql 停止mysql服务 win+R→输入services.msc→服务→找到mysql并停止。 卸载mysql程序,mysql免安装版的删除安装目录即可 win+R→输入control→...
MySQL是一个跨平台开源的关系型数据库管理系统,多用于中小型网站或系统的开发。软件开发使用数据库技术可以方便实现数据的共享,减少数据的冗余,也方便统一对数据进行操作和控制。MySQL相对于Oracle、DB2等大型数据库具有体积小、速度快、成本低的特点,这些特性使得MySQL在开源世界大受欢迎。下面我带领大家去学习mySQL的下载及安装。
工具/材料
Windows 操作系统
MySQL有两个不同的版本, MySQL Community Server 是免费的社区版,MySQL Enterprice Server是企业版服务器,该版本需要付费,官方会提供技术支持。小型的软件开发或者自己学习使用,我们下载免费的社区版即可。我们在搜狗搜索框中输入mysql官网,进入到如下的页面,点击DOWNLOADS--Community。
我们在跳转的页面选择MySQL Community Downloads下方的DOWNLOAD按钮,选择Windows版本的安装包,我们选择MSI格式的安装包,点击Go to Download按钮,如下图所示。安装包只能选择32位的,即便本机是64位的操作系统也没有关系,图中有两个安装版本,第一个版本在线安装,第二个下载的版本离线安装。我们在安装的过程中不需要登录,选择No thanks, just start my download。
安装包下载完成后,我们点击右键进行安装,安装过程中License Agreement选择I accept the licence terms。安装类型选择Server only,执行过程如下图所示。
安装过程中,我们可以看到默认端口号是3306,接下来我们需要输入密码,密码不要设置太弱。安装过程中我们勾选开机自启动,如下图所示。执行安装我们选择Execute,然后便是开始等待安装即可。
安装完成后,我们找到本机的MySQL的客户端工具,这是一个命令行工具,可以执行sql命令,但不能用于复杂的开发工作,使用这个工具可以帮我们快速入门mysql数据库。
我们打开这个客户端软件,输入完密码后,便可以看到光标处的mysql, 输入show databases可以看到默认的数据库有哪些。其他的sql命令也很多,我们便不再一一列举了。
特别提示
安装过程中可能会提示Microsoft Visual C++ 2015 没有安装之类的,我们在线等待安装完成即可,这个时间可能有点久,请耐心等待。
mysql官方下载地址 版本要根据自己电脑配置直接选择就可以。
扩展:MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。