#查找系统里面MySQL相关包,有就删除之
# rpm -qa | grep mysql #查找
[root@Hadoop-001 ~]# rpm -qa | grep mysql
#rpm -e --nodeps 名称 #删除
[root@Hadoop-001 ~]# rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64
#创建用户
useradd mysql
passwd mysql
######### 创建完用户之后,以下操作都在 /home/mysql 下进行 ##############
#提前准备的安装包
mysql-5.6.44-linux-glibc2.12-x86_64.tar.gz
#解压
tar -zxvf mysql-5.6.44-linux-glibc2.12-x86_64.tar.gz
#用户目录授权
chown mysql /home/mysql/mysql-5.6.44-linux-glibc2.12-x86_64
#初始化数据库
[root@myhadoop mysql-5.6.44-linux-glibc2.12-x86_64]# ./scripts/mysql_install_db --user=mysql --basedir=/home/mysql/mysql-5.6.44-linux-glibc2.12-x86_64 --datadir=/home/mysql/mysql-5.6.44-linux-glibc2.12-x86_64/data
#出现以下信息
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/home/mysql/mysql-5.6.44-linux-glibc2.12-x86_64/bin/mysqladmin -u root password 'new-password'
/home/mysql/mysql-5.6.44-linux-glibc2.12-x86_64/bin/mysqladmin -u root -h myhadoop password 'new-password'
Alternatively you can run:
/home/mysql/mysql-5.6.44-linux-glibc2.12-x86_64/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd . ; /home/mysql/mysql-5.6.44-linux-glibc2.12-x86_64/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl
Please report any problems at http://bugs.mysql.com/
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
New default config file was created as /home/mysql/mysql-5.6.44-linux-glibc2.12-x86_64/my.cnf and
will be used by default by the server when you start it.
You may edit this file to change server settings
#修改启动文件 support-files/mysql.server
basedir=/home/mysql/mysql-5.6.44-linux-glibc2.12-x86_64
datadir=/home/mysql/mysql-5.6.44-linux-glibc2.12-x86_64/data/mysql
#启动
[root@myhadoop mysql-5.6.44-linux-glibc2.12-x86_64]# ./support-files/mysql.server start
#修改密码
[root@myhadoop mysql-5.6.44-linux-glibc2.12-x86_64]# /home/mysql/mysql-5.6.44-linux-glibc2.12-x86_64/bin/mysqladmin -u root password 'root'
#登陆数据库
[root@myhadoop mysql-5.6.44-linux-glibc2.12-x86_64]# ./bin/mysql -u root -p
#设置远程登陆
mysql> grant all privileges on *.* to root@'%' identified by 'root';
****************************************************************************************************************
如果启动不成功,就将安装目录移动到 MySQL 默认安装目录
****************************************************************************************************************
#修改启动文件 support-files/mysql.server
basedir=
datadir=
#移动安装目录:
[root@Hadoop-001 mysql-5.6.44-linux-glibc2.12-x86_64]# mv /home/mysql/mysql-5.6.44-linux-glibc2.12-x86_64 /usr/local/mysql
#进入安装目录,启动
[root@Hadoop-001 ~]# cd /usr/local/mysql/
[root@Hadoop-001 mysql]# ./support-files/mysql.server start
#修改密码
[root@Hadoop-001 bin]# ./mysqladmin -u root password 'root'
#登陆数据库
[root@Hadoop-001 bin]# ./mysql -u root -p
#设置远程登陆
mysql> grant all privileges on *.* to root@'%' identified by 'root';
#添加开机自启动,在 /etc/rc.local 中加上如下启动命令即可
/usr/local/mysql/support-files/mysql.server start
==================================================================================================================================================
其他命令
创建数据库
mysql> create database location
查看数据库
mysql> show databases;
进入某个库
mysql> use location;
查看表信息
mysql> show tables;
查看表结构
mysql> desc Contact;
改表名
mysql> rename table Contact to Contact_new
删除库
mysql> drop database location
删除表
mysql> drop table Contac
#表中有重复数据,需求:删除多余重复数据,只保留一条。
表结构如图:
查询表中 id_card 重复数据
SELECT
*
FROM
zgt_user_info
WHERE
id_card IN ( SELECT id_card FROM zgt_user_info GROUP BY id_card HAVING count( id_card ) > 1 );
重复数据如图:
删除表中多余重复数据,只保留一条 user_id 最小的
DELETE
FROM
zgt_user_info
WHERE
user_id NOT IN ( SELECT a.min_id FROM ( SELECT min( user_id ) AS min_id FROM zgt_user_info GROUP BY id_card ) a );