Home Database Mysql Tutorial Summary of issues regarding MySQL installation and configuration methods

Summary of issues regarding MySQL installation and configuration methods

Jul 17, 2017 pm 02:37 PM
mysql Way Configuration

This article mainly introduces several installation methods and configurations of MySQL, and then introduces a summary of the problems during the installation process at the bottom of the article. It is very good and has reference value. Friends in need can refer to it

1. MySQL rpm package installation

# 下载安装源
[root@localhost src]# wget https://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
# 安装源
[root@localhost src]# rpm -ivh mysql-community-release-el7-5.noarch.rpm
Copy after login

2.MySQL yum tool installation

[root@localhost /]# yum install -y mysql-community-server
# 查看安装后的文件路径
[root@localhost /]# which mysql mysqld_safe mysqlbinlog mysqldump
/usr/bin/mysql
/usr/bin/mysqld_safe
/usr/bin/mysqlbinlog
/usr/bin/mysqldump
Copy after login

To view the detailed file list contained in each installation package, you can use "rpm -ql software name" to view it. This command lists the file list and installation location of the current rpm package. As follows:

[root@localhost /]# rpm -ql openssl
/etc/pki/tls/misc/c_hash
/etc/pki/tls/misc/c_info
/etc/pki/tls/misc/c_issuer
/etc/pki/tls/misc/c_name
/usr/bin/openssl
/usr/share/doc/openssl-1.0.1e
/usr/share/doc/openssl-1.0.1e/CHANGES
.......
Copy after login

3. MySQL source code installation

# 安装编译所需的软件包
[root@localhost src]# yum install -y make gcc-c++ cmake bison-devel ncurses-devel gcc autoconf automake zlib* fiex* libxml*
# 下载源码
[root@localhost src]# wget https://cdn.mysql.com//archives/mysql-5.6/mysql-5.6.24.tar.gz
# 解压源码包
[root@localhost src]# tar xvf mysql-5.6.24.tar.gz
[root@localhost src]# cd mysql-5.6.24
# 进行编译配置,这个过程将耗时3~5分钟
[root@localhost mysql-5.6.24]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql/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
# 编译并且安装
# 编译过程大约需要30~50分钟
[root@localhost mysql-5.6.24]# make
[root@localhost mysql-5.6.24]# make install
# 设置MySQL用户和组
[root@localhost mysql-5.6.24]# groupadd mysql
[root@localhost mysql-5.6.24]# useradd -r -g mysql mysql
[root@localhost mysql-5.6.24]# cd /usr/local/mysql/
# 设置权限以便mysql能修改文件
[root@localhost mysql]# chown -R mysql:mysql ./
[root@localhost mysql]# chown -R mysql:mysql /data/mysql/data
# 初始化数据库
# 需要注意的是此处设置的数据目录应该与之前的MYSQL_DATADIR指定的目录相同
[root@localhost mysql]# scripts/mysql_install_db --user=mysql -ldata=/data/mysql/data
# 恢复权限设置,并修改相应目录的权限以便mysql修改
[root@localhost mysql]# chown -R root ./
[root@localhost mysql]# chown -R mysql data
Copy after login

The above example indicates that the MySQL software is installed in the /usr/local/mysql directory. The parameters used in this example and their meanings are as follows:

DCMAKE_INSTALL_PREFIX: Indicates where MySQL is installed. In this example, it will be installed in the /usr/local/mysql directory;

DMYSQL_DATADIR: Indicates the directory where MySQL data files are stored; DSYSCONFDIR: the directory where configuration file is located;

DWITH_MYISAM_STORAGE_ENGINE: compiles the MyISAM storage engine into the service;

DWITH_INNOBASE_STORAGE_ENGINE: compiles the InnoDB storage engine Compile into the service; DMYSQL_UNIX_ADDR:

DMYSQL_TCP_PORT: The port used by default; DENABLED_LOCAL_INFILE: Specify whether to allow local execution of LOAD DATA

INFILE; DWITH_PARTITION_STORAGE_ENGINE: Compile the partition engine into the service;

DEXTRA_CHARSETS: Let the service support all extended character sets; DDEFAULT_CHARSET: The default character set used by the service, set here to

UTF8; DDEFAULT_COLLATION: The default collation.

There are many parameters when compiling and installing MySQL. The detailed meaning and description of these parameters can be found on the official website: http://dev.mysql.com/doc/refman/5.5/en/source-configuration- options.html

The role of the installed dependency package:

gcc/g++: Starting from MySQL 5.6, you need to use g++ for compilation; cmake: Starting from MySQL 5.5, cmake is used for project management, and cmake requires version 2.8 or above; bison: MySQL syntax parser needs to be compiled with bison; ncurses-devel: development package for terminal operations; zlib: MySQL uses zlib for compression; libxml: Used to support XML input and output methods; openssl: uses openssl secure socket method to communicate;

dtrace: used to diagnose MySQL problems.

Completing the above installation steps is not enough. You also need to add configuration options, start and stop scripts for MySQL, etc.

cd /usr/local/mysql/
#去掉配置文件中的注释行仅显示有效行
grep -v "^#" my.cnf
#将启动脚本放到/etc/init.d目录中
cp support-files/mysql.server /etc/init.d/mysqld
#将mysql添加为系统服务
chkconfig --add mysqld
service mysqld start
#此时MySQL的root用户还没有密码,应该为其设置密码
/usr/local/mysql/bin/mysql -u root -h 192.168.146.150 -p
#由于还没有设置密码因此直接按下Enter键即可
#设置root用户的密码为888888
set password = password('888888');
#设置完成后输入quit退出
quit
Copy after login

Attachment: Summary of problems during the installation process

1. -bash:mysql:command not found

Because The path of the mysql command is under /usr/local/mysql/bin, so when you use the mysql command directly, the system checks for this command under /usr/bin, so it cannot be found.

Solution: Use the following command to create a link

ln -s /usr/local/mysql/bin/mysql /usr/bin
Copy after login

2. Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/Server03.mylinux.com. pid).

Solution:

Modify the datadir in /etc/my.cnf to point to the correct mysql databaseFile Directory

3. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Solution:

Create a new link or add the -S parameter to mysql to directly point to the location of mysql.sock.

ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock
/usr/local/mysql/bin/mysql -u root -S /usr/local/mysql/data/mysql.sock
Copy after login

The above is the detailed content of Summary of issues regarding MySQL installation and configuration methods. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to solve mysql cannot be started How to solve mysql cannot be started Apr 08, 2025 pm 02:21 PM

There are many reasons why MySQL startup fails, and it can be diagnosed by checking the error log. Common causes include port conflicts (check port occupancy and modify configuration), permission issues (check service running user permissions), configuration file errors (check parameter settings), data directory corruption (restore data or rebuild table space), InnoDB table space issues (check ibdata1 files), plug-in loading failure (check error log). When solving problems, you should analyze them based on the error log, find the root cause of the problem, and develop the habit of backing up data regularly to prevent and solve problems.

Does mysql optimize lock tables Does mysql optimize lock tables Apr 08, 2025 pm 01:51 PM

MySQL uses shared locks and exclusive locks to manage concurrency, providing three lock types: table locks, row locks and page locks. Row locks can improve concurrency, and use the FOR UPDATE statement to add exclusive locks to rows. Pessimistic locks assume conflicts, and optimistic locks judge the data through the version number. Common lock table problems manifest as slow querying, use the SHOW PROCESSLIST command to view the queries held by the lock. Optimization measures include selecting appropriate indexes, reducing transaction scope, batch operations, and optimizing SQL statements.

How to use SUBSTRING_INDEX in MySQL How to use SUBSTRING_INDEX in MySQL Apr 08, 2025 pm 02:09 PM

In MySQL database operations, string processing is an inevitable link. The SUBSTRING_INDEX function is designed for this, which can efficiently extract substrings based on separators. SUBSTRING_INDEX function application example The following example shows the flexibility and practicality of the SUBSTRING_INDEX function: Extract specific parts from the URL For example, extract domain name: SELECTSUBSTRING_INDEX('www.mysql.com','.',2); Extract file extension to easily get file extension: SELECTSUBSTRING_INDEX('file.pdf','.',-1); Processing does not exist

Does mysql need the internet Does mysql need the internet Apr 08, 2025 pm 02:18 PM

MySQL can run without network connections for basic data storage and management. However, network connection is required for interaction with other systems, remote access, or using advanced features such as replication and clustering. Additionally, security measures (such as firewalls), performance optimization (choose the right network connection), and data backup are critical to connecting to the Internet.

Can mysql and mariadb coexist Can mysql and mariadb coexist Apr 08, 2025 pm 02:27 PM

MySQL and MariaDB can coexist, but need to be configured with caution. The key is to allocate different port numbers and data directories to each database, and adjust parameters such as memory allocation and cache size. Connection pooling, application configuration, and version differences also need to be considered and need to be carefully tested and planned to avoid pitfalls. Running two databases simultaneously can cause performance problems in situations where resources are limited.

The primary key of mysql can be null The primary key of mysql can be null Apr 08, 2025 pm 03:03 PM

The MySQL primary key cannot be empty because the primary key is a key attribute that uniquely identifies each row in the database. If the primary key can be empty, the record cannot be uniquely identifies, which will lead to data confusion. When using self-incremental integer columns or UUIDs as primary keys, you should consider factors such as efficiency and space occupancy and choose an appropriate solution.

Does mysql need a server Does mysql need a server Apr 08, 2025 pm 02:12 PM

For production environments, a server is usually required to run MySQL, for reasons including performance, reliability, security, and scalability. Servers usually have more powerful hardware, redundant configurations and stricter security measures. For small, low-load applications, MySQL can be run on local machines, but resource consumption, security risks and maintenance costs need to be carefully considered. For greater reliability and security, MySQL should be deployed on cloud or other servers. Choosing the appropriate server configuration requires evaluation based on application load and data volume.

Can mysql return json Can mysql return json Apr 08, 2025 pm 03:09 PM

MySQL can return JSON data. The JSON_EXTRACT function extracts field values. For complex queries, you can consider using the WHERE clause to filter JSON data, but pay attention to its performance impact. MySQL's support for JSON is constantly increasing, and it is recommended to pay attention to the latest version and features.

See all articles