mysql安装

 目录:

  •   windows

  •        linux

  1.     yum

  2.               tar

参考文章:https://blog.csdn.net/xyang81/article/details/51759200  (yum安装)

                  http://www.cnblogs.com/sybblogs/p/5633956.html      (tar安装)

                     https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/installing.html  (官网手册)

                     

 下载:

https://dev.mysql.com/downloads/

Windows下:

my.ini 的查找过程:

在mysql下完zip版后,直接解压,相当于我们的mysql就算是安装完毕,只是没有设置启动配置。

官方zip安装参考文档:https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/windows-choosing-package.html

                                    https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/windows-install-archive.html

1. 添加系统环境变量(可选)

>MYSQL_HOME = D:programmysql-5.7.23-winx64

>PATH=%MYSQL_HOME%in;

2.修改mysql的默认文件路径

在mysql下查找 my-default.ini文件,如果没有则新添加一条 my.ini,目前基本都没有。

参考官网的my.ini内容 :https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/windows-create-option-file.html

                                       https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/option-files.html

打开文件修改/添加:

[mysqld] 

port=3306

basedir=D:programmysql-5.7.23-winx64

datadir=D:programmysql-5.7.23-winx64data

 ※注意:如果路径找不到,请换成正斜杠。

3. 以管理员身份运行命令提示符,如果不是管理员身份可能会被拒绝。

错误信息:Install/Remove of the Service Denied!

>cmd  在搜索中输入命令提示符或者cmd,右键以管理者身份运行。

※注意:如果想看到更多的信息,也可用 mysqld-debug 代替  mysqld 试运行。

> mysqld --initialize-insecure  --user=mysql (不生成密码,在高版本基本用这种)

mysqld --initialize  --user=mysql(生成随机密码)

※注意:(--initialize-insecure此种会生成一个空密码,如果用 --initialize会生成一个随机密码

root密码查找:在my.ini中有个dataurl,在这个地址中有个**.error,会记录日志信息。其中

 root@localhost: 后面的即为root密码。)

参见官网:https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/data-directory-initialization.html

全初始化样例(注:可将basedir,datadir写入my.ini.):

bin/mysqld --initialize (初始化)
  --user=mysql            (开启默认mysql库,将granted信息记录)
  --basedir=/opt/mysql/mysql
  --datadir=/opt/mysql/mysql/data
  --defaults-file=C:my.ini    (默认配置文件)
  --console                           (开启控制台输出日志)
--log-error (错误日志打印)

>mysqld -install mysql57  (将其写入服务中,服务名mysql57)

 >mysqld -remove mysql57  (移除)

##如果出现 NET HELPMSG 3534 错误

  1. 则查看启动的mysql的名字(在服务中看)

        2. mysqld --initialize-insecure 不加用户名密码尝试

 ※:binmysqld 用于对mysql服务端的操作。

》mysqld --verbose --help   (查看帮助)

5. 启动mysql

>net start mysql57

>net stop mysql57

>net restart mysql57

另一种方式,在mysql下直接操作

》binmysqld --user=mysql --console &   (启动 或最直接 》binmysqld)

mysqladmin -u root shutdown  (关闭)

6.登录

如果“mysqld --initialize”是有随机码的登录使用随机码:

》mysql -u root -p

如果没有mysqld --initialize-insecure的使用:

》mysql -u root --skip-password

修改root密码:

》ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';
因root账号一般不对外开放采用localhost,因此要新创建一个新的非root账号。
 如果有开启 skip_name_resolve,在登录后使用以下命令创建root和密码。
》CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'root-password';

7. 测试

>mysql -u root -p

>binmysql -h localhost -P 3307  -u root -p

>mysql test

* 注意:最好是安装msi的,方便简单。

下载地址: https://downloads.mysql.com/archives/installer/

 msi 下载msi的mysql-installer,然后启动 【add...】 选择 【mysql server】安装即可。

安装后的data文件和my.ini会在隐藏的文件夹下 C:ProgramData

 

Linux下:

1. yum安装

》wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm   下载mysql安装包

》yum localinstall mysql57-community-release-el7-8.noarch.rpm

》yum repolist enabled | grep "mysql.*-community.*"                        //查看是否安装,如果存在信息则mysql源安装成功

》yum install mysql-community-server                                               //安装server

》systemctl start mysqld                                                                     // 启动

》systemctl status mysqld                                                                  // 查看启动状态

》systemctl enable mysqld                                                                  // 设置开机自启动

》systemctl daemon-reload                                                                // 设置开机自启动 

mysql在5.7版本后安装完会自动生成一个root随机密码,且放在 /var/log/mysqld.log 文件中

>grep 'password' /var/log/mysqld.log                                             //获取密码

>mysql -u root -p                                                                              //登录修改密码

>ALTER USER 'root'@'localhost' IDENTIFIED BY '*****';             //新密码,root的临时密码登录后都要被替换,默认强度是中 MEDIM :大小写和数字特殊字符

>show variables like '%password%';                                             --- 查看密码强度                     

set global validate_password_policy=0;                                       // 修改密码策略,为低  0:low,1:medium,2:stronge

也可在/etc/my.cnf文件中添加:

    validate_password_policy=0;

设置编码utf8,在/etc/my.cnf文件中添加:

     character_set_server=utf8

    default-character-set=utf8  (这个会导致mysql启动不了)

》systemctl restart mysqld   //重启应用

创建远端登录账号:

》GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

2.tar.gz

》tar -zxvf mysql-5.5.40-linux2.6-x86_64.tar.gz  -C /usr/local
》cd /usr/local
》ln -s mysql-5.5.40-linux2.6-x86_64.tar.gz mysql
》groupadd mysql
》useradd -r -g mysql mysql
》chown -R mysql:mysql ./mysql
》cp support-files/mysql.server  /etc/init.d/mysql
cp ./support-files/my-medium.cnf /etc/my.cnf //注意my.cnf中的内容,如果路径不一致可参考下面的内容

my.cnf内容

[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
init-connect='SET NAMES utf8'
basedir=/usr/local/mysql5.7              #根据自己的安装目录填写 
datadir=/usr/local/mysql5.7/data     #根据自己的mysql数据目
socket=/tmp/mysql.sock
max_connections=200             # 允许最大连接数
character-set-server=utf8           # 服务端使用的字符集默认为8比特编码的latin1字符集
default-storage-engine=INNODB           # 创建新表时将使用的默认存储引擎
log-error=/usr/local/mysql/log/mysqld.log #错误日志

 》./scripts/mysql_install_db --user=mysql

 》./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data  //初始化如果看到下面有password则为初始登录密码

》service mysql start   //启动

如果启动失败参考:The server quit without updating PID file

也有可能是登录时mysql下的my.cnf权限错误:修改root的my.cnf 权限调整为mysql  :》chrown -R mysql:mysql my.cnf 

 》mysql -u root -p

初始化登录时,密码为空,登录后需要立即修改

>ALTER USER 'root'@'localhost' IDENTIFIED BY '*****';   //因root账号具有特殊性,不便于对外公开。

如果修改语句报错,则使用

》use mysql;

》UPDATE user SET Password=PASSWORD('123456') where USER='root'; 

》 FLUSH PRIVILEGES; 

InnoDB: Error: log file ./ib_logfile0 is of different size 50331648 bytes

参考:   https://blog.csdn.net/yabingshi_tech/article/details/51205968

                           

原文地址:https://www.cnblogs.com/DennyZhao/p/9786639.html